Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
 
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
#1

Как в проект подключить библиотеку? - C++

09.09.2015, 21:05. Просмотров 1137. Ответов 37
Метки нет (Все метки)

Есть компилятор GCC и графическая библиотека, как ее можно подключить?
http://www.cyberforum.ru/cpp/thread1768232.html
Компилю через консоль.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2015, 21:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как в проект подключить библиотеку? (C++):

Как написать графическую библиотеку?
Есть много графических библиотек(MFC, VCL, WxWidgets). А как можно создать...

Как работать с xpath используя библиотеку xmlpp?
Мучаюсь весь день с xPath... Не могу понять как с ним работать? Допустим...

Как добавить библиотеку GLAUX.lib в Visual Studio
Привет! Нужно добавить библиотечку OpenGL, которая называется GLAUX, но не...

Как в windows сделать динамическую библиотеку из файлов .cpp через командную строку ?
Здраствуйте, вопрос состоит в следующем, как у Виндовс через командную ...

Как подключить .h файл дважды?
Такая проблема: имеется файл lib.h и еще 2 файла: NewLib1.h и NewLib2.h,...

37
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 21:08 #2
Vadim4ik123,ключи -Lпуть_к_библиотеке -lимя_библиотеки + нужные хедеры в файле
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 21:12  [ТС] #3
Kerry_Jr, Это нужно библиотеку прогонять через cmake?
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 21:13 #4
Vadim4ik123, так, начнем сначала, какая библиотека?
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 21:14  [ТС] #5
Kerry_Jr, SFML
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 21:14 #6
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
ключи -Lпуть_к_библиотеке -lимя_библиотеки + нужные хедеры в файле
это ключи компилятора

Добавлено через 25 секунд
Цитата Сообщение от Vadim4ik123 Посмотреть сообщение
SFML
Исходники или уже собранная?
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 21:15  [ТС] #7
Kerry_Jr, Можно и исходники скачать и собранную
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 21:16 #8
Vadim4ik123, у Вас какая? Я то знаю, что можно и так и так, сталкивался.
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 21:17  [ТС] #9
Kerry_Jr, Собранная, но если удобнее исходником, то без проблем скачаю.
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 21:27 #10
Vadim4ik123, собранная для Вашей версии GCC/MinGW? Если да то, как я уже писал, в строку компиляции добавить ключи,которые я выше описал + насколько я знаю, там есть какие-то проблемы со статической линковкой (по крайней мере все мои попытки завершились неудачами), поэтому добавляете еще ключ -D SFML_DYNAMIC, либо в начале файла, в котором используете библиотеку, прописываете #define SFML_DYNAMIC + в папку с exe-шником кладете дллки.

Добавлено через 3 минуты
да, я там не все ключи прописал нужен еще -Iпуть_к_папке_include
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 21:35  [ТС] #11
Kerry_Jr, А можно по подробнее с ключами?Я немного не понимаю как и что.

Добавлено через 5 минут
Kerry_Jr, О, понял, а как указать несколько lib?
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 21:39 #12
Vadim4ik123, ну, например, папка с библиотекой у Вас лежит по пути C:\SFML. Создадим простой файлик типа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
 
constexpr int windowWidth {800}, windowLength {600};
 
int main()
{
    sf::RenderWindow window({windowWidth, windowLength}, "Test");
    
    while(window.isOpen())
    {
        sf::Event event;
        window.clear(sf::Color::White);
        while(window.pollEvent(event))
            if (event.type == sf::Event::Closed ||
                sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
                window.close();
            
        window.display();
    }
    
    return 0;
}
тогда строка компиляции будет выглядеть примерно так
Код
$>g++ -D SFML_DYNAMIC -o test test.cpp -IC:\SFML\include -LC:\SFML\lib -lsfml-graphics -lsfml-window -lsfml-system
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 21:54  [ТС] #13
Kerry_Jr, Почти получилось(
Кучу ошибок дало.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0xe5): undefined reference to `_imp___ZN2sf6S
tringC1EPKcRKSt6locale'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x10b): undefined reference to `_imp___ZN2sf9
VideoModeC1Ejjj'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x147): undefined reference to `_imp___ZN2sf1
2RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x17d): undefined reference to `_imp___ZN2sf1
1CircleShapeC1Efj'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x18e): undefined reference to `_imp___ZN2sf5
Color5GreenE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x198): undefined reference to `_imp___ZN2sf5
Shape12setFillColorERKNS_5ColorE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x1b8): undefined reference to `_imp___ZN2sf6
Window5closeEv'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x1cd): undefined reference to `_imp___ZN2sf6
Window9pollEventERNS_5EventE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x1ff): undefined reference to `_imp___ZN2sf5
ColorC1Ehhhh'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x21a): undefined reference to `_imp___ZN2sf1
2RenderTarget5clearERKNS_5ColorE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x22d): undefined reference to `_imp___ZN2sf1
2RenderStates7DefaultE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x241): undefined reference to `_imp___ZN2sf1
2RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x253): undefined reference to `_imp___ZN2sf6
Window7displayEv'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x262): undefined reference to `_imp___ZNK2sf
6Window6isOpenEv'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x28b): undefined reference to `_imp___ZN2sf1
2RenderWindowD1Ev'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x2b2): undefined reference to `_imp___ZN2sf1
2RenderWindowD1Ev'
C:\TEMP\ccZK5j6W.o:main.cpp:(.text+0x2ec): undefined reference to `_imp___ZN2sf1
2RenderWindowD1Ev'
d:/program files/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.e
xe: C:\TEMP\ccZK5j6W.o: bad reloc address 0xf in section `.text$_ZN2sf6StringD1E
v[__ZN2sf6StringD1Ev]'
d:/program files/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.e
xe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
Для продолжения нажмите любую клавишу . . .
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 22:06 #14
Vadim4ik123
Цитата Сообщение от Vadim4ik123 Посмотреть сообщение
Кучу ошибок дало.
честно, сейчас не вспомню, но, кажется, я эту проблему у себя решил скачиванием исходников и компиляцией библиотеки своим компилятором.
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
09.09.2015, 22:08  [ТС] #15
Kerry_Jr, Своим компилятором?То есть можно написать самому свой компилятор?)
А насчет исходников, может если с ними скомпилировать, то все заработает?
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
09.09.2015, 22:44 #16
Цитата Сообщение от Vadim4ik123 Посмотреть сообщение
Своим компилятором?
под своим понимается установленный у меня.
Цитата Сообщение от Vadim4ik123 Посмотреть сообщение
А насчет исходников, может если с ними скомпилировать, то все заработает?
Что значит "с ними"? Сначала из исходников нужно скомпилировать библиотеку, а потом подключать ее так же, как описано выше.
1
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,907
Записей в блоге: 3
Завершенные тесты: 1
09.09.2015, 23:03 #17
Лучший ответ Сообщение было отмечено Vadim4ik123 как решение

Решение

Небольшая инструкция (сборка dll sfml): https://www.youtube.com/watch?v=eRyy8QLOuoA
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
10.09.2015, 18:10  [ТС] #18
Croessmah, Огромное спасибо!)
То что надо, скоро проверю, отпишусь.

Добавлено через 1 час 44 минуты
Croessmah, все сделал, пишу команду make, жму ентер и пишет:
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт, 2009. Все права защищены.
0
Croessmah
++Ͻ
14147 / 8072 / 1512
Регистрация: 27.09.2012
Сообщений: 19,907
Записей в блоге: 3
Завершенные тесты: 1
10.09.2015, 18:23 #19
Vadim4ik123, MinGW установлен? Путь к бинарникам компилятора прописан в переменную PATH? Загляните в бинарники, возможно, вместо make там mingw32-make
1
Vadim4ik123
2 / 2 / 0
Регистрация: 27.02.2015
Сообщений: 86
10.09.2015, 18:40  [ТС] #20
Croessmah, Разобрался!)
Заработало, огромное тебе спасибо!!)
0
10.09.2015, 18:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2015, 18:40
Привет! Вот еще темы с решениями:

Как подключить компиляторы С и С++ к Netbeans в Windows??
Народ, памагите плиз, как подключить компиляторы С и С++ к Netbeans в виндовс??...

Как быстро скомпилить проект?
Есть программа размером порядка 1гб :) Большая часть кода сгенерированно и...

Как запустить проект, используя компилятор LLVM?
Собрал под виндой LLVM. Все вроде нормально. либы есть,хидеры есть, бинари...

Как скомпилировать проект чтобы вложились нужные библиотеки!!!
Привет, народ может поможете. Как мне скомпилировать проект чтобы в папке с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru