我在我的项目中使用 lib3ds 和 opengl。要从此项目生成可执行文件,我无法链接这些库。
我用来在 g++ 上将 lib3ds 链接到以下命令:g++ -o exec object.o --static -l3ds
我用来链接opengl:g++ -o exec object.o -lGL
我想在同一个命令中链接两个库。如果我尝试 -lGL --static -l3ds
, 编译器说 /usr/bin/ld: cannot find -lGL
.
我怎么解决这个问题?
最佳答案
-static
要求编译器生成静态二进制文件,根本没有任何指向动态库的链接。你要使用的是-Bstatic
和 -Bdynamic
链接器选项:
g++ -o exec object.o -Wl,-Bstatic -l3ds -Wl,-Bdynamic -lGL
关于ubuntu - gcc 上的静态和动态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668566/