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

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

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

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

Не могу подключить библиотеку opengl - glaux.dll
Доброго дня! Не могу подключить библиотеку glaux. lib закинул куда надо, h-ник...

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

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

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

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

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
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,585
Записей в блоге: 2
Завершенные тесты: 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
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,585
Записей в блоге: 2
Завершенные тесты: 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

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

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

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


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

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

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