Форум программистов, компьютерный форум CyberForum.ru

Статическая линковка - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
99kiri99
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 3
29.09.2013, 22:28     Статическая линковка #1
Появилась необходимость прилинковать статическую библиотеку (GLFW) к проекту на C++. Я подключил заголовки, а вот саму библиотеку подключить не удаётся... Подскажите, пожалуйста, в чём проблема.

Прилагаю скрины дерева файловой системы и настроек компоновщика.
P.S. Использую связку NetBeans с MinGW.
Миниатюры
Статическая линковка   Статическая линковка  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 22:28     Статическая линковка
Посмотрите здесь:

Линковка проекта. C++
Статическая линковка C++
C++ Правильная линковка библиотек
C++ Линковка плюсового кода
C++ Статическая линковка boost
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
29.09.2013, 22:43     Статическая линковка #2
В коде после хедеров запиши
#pragma comment(lib,"название либы.lib")
то что красным замени на корректное название
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
29.09.2013, 22:51     Статическая линковка #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
В коде после хедеров запиши
В MinGW такая прагма "не прокатывает". Эти фишка MSVC.

libglfw3.a - тебе надо подключить её. Это делается с помощью флага -lglfw3, переданного компоновщику.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2013, 22:58     Статическая линковка #4
99kiri99, компоновщик - ввод - дополнительные зависимости, пропишите: glfw3dll.a и libglfw3.a
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
29.09.2013, 23:00     Статическая линковка #5
Цитата Сообщение от alsav22 Посмотреть сообщение
пропишите: glfw3dll.a и libglfw3.a
И статическую и динамическую? Тут надо выбрать что-то одно.
99kiri99
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 3
30.09.2013, 17:07  [ТС]     Статическая линковка #6
В make файле есть строчка:
LDLIBSOPTIONS=-L../Libraries/GLFW/lib-mingw -lopengl32 -lglfw3

Но никаких результатов это не даёт.

Лог сборки
Кликните здесь для просмотра всего текста

"/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/d/Projects/GeometryEditor'
"/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/geometryeditor.exe
make.exe[2]: Entering directory `/d/Projects/GeometryEditor'
mkdir -p dist/Debug/MinGW-Windows
g++ -o dist/Debug/MinGW-Windows/geometryeditor build/Debug/MinGW-Windows/Main.o -L../Libraries/GLFW/lib-mingw -lopengl32 -lglfw3
build/Debug/MinGW-Windows/Main.o: In function `main':
D:\Projects\GeometryEditor/Main.cpp:8: undefined reference to `glfwCreateWindow'
collect2.exe: error: ld returned 1 exit status
make.exe[2]: *** [dist/Debug/MinGW-Windows/geometryeditor.exe] Error 1
make.exe[2]: Leaving directory `/d/Projects/GeometryEditor'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/d/Projects/GeometryEditor'
make.exe": *** [.build-impl] Error 2


Добавлено через 1 час 47 минут
Выяснилось, что у меня библиотеки, для x64 компилятора, а с точки зрения линковки всё было верно. Всем ответившим спасибо!!!
Yandex
Объявления
30.09.2013, 17:07     Статическая линковка
Ответ Создать тему
Опции темы

Текущее время: 10:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru