Это очень странно или очень просто. Я использую библиотеку дьявола, и в очень простой программе я должен ее инициализировать следующим образом:undefined ссылка на `iluInit 'ТОЛЬКО
ilInit();
iluInit();
И вот в чем проблема. IlInit()
хорошо, но iluInit()
нет! Он не может найти ссылку.
Конечно, я включать заголовки:
#include <IL/il.h>
#include <IL/ilu.h>
И скомпилировать мой файл по:
g++ -std=gnu++11 -O3 myIL.cpp -lglfw3 -lGL -lGLEW -lIL -lGLU -lX11 -lXxf86vm -lpthread -lXrandr -lXi -o myIL
(как правило, я хочу использовать Devil LIB для проекта OpenGL, но я не думаю, что это важно прямо сейчас).
У меня также есть все заголовки в /usr/include/IL
и * .a, * .so и т. Д. Файлы в /usr/lib/x86_64-linux-gnu
.
Кстати, это также здорово, если бы кто-нибудь мог объяснить мне, какая разница между IlInit()
, iluInit()
и ilutInit()
. Я не могу найти простое объяснение.
Три разные библиотеки, DevIL, ILU и ILUT. Кто это такой :(Не похоже, что вы связываете любой из них. –
Разве это '-lIL' для связывания библиотеки (ies)? – paspy
Возможный дубликат [Что такое неопределенная ссылка/неразрешенная внешняя ошибка символа и как его исправить?] (http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i -fix) – Walter