仅对“iluInit”的未定义引用

undefined reference to `iluInit' ONLY

这很奇怪或者说很简单。我正在使用 Devil 库,在非常简单的程序中,我必须通过以下方式初始化它:

ilInit();
iluInit();

这就是问题所在。 IlInit() 工作正常,但 iluInit() 不行!找不到参考。

我当然包括 headers:

#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

(通常我想为 OpenGL 项目使用 Devil 库,但我认为现在不重要)。

我也有 /usr/include/IL 中的所有 headers 和 /usr/lib/x86_64-linux-gnu 中的 *.a、*.so 等文件。

顺便说一句,如果有人能向我解释 IlInit()iluInit()ilutInit() 之间的区别,那就太好了。我找不到简单的解释。

我对魔鬼一无所知,但我怀疑你忘记了 link 反对相关图书馆——那不是 libILU.so,即需要 compiler/loader选项 -lILU?