我在我的项目中使用了lib3ds和opengl。要从此项目生成可执行文件,我无法链接这些库。
我用来链接g3上的命令下面的lib3ds:g++ -o exec object.o --static -l3ds
我用来链接opengl:g++ -o exec object.o -lGL
我想在同一个命令中链接两个库。如果我尝试-lGL --static -l3ds
,编译器会说/usr/bin/ld: cannot find -lGL
。
我该如何解决这个问题?
答案 0 :(得分:4)
-static
要求编译器生成静态二进制文件,根本不需要任何动态库链接。您要使用的是-Bstatic
和-Bdynamic
链接器选项:
g++ -o exec object.o -Wl,-Bstatic -l3ds -Wl,-Bdynamic -lGL
答案 1 :(得分:0)
/usr/xxx/lib3ds.a -lGL有效!