如何正确地将静态库链接到Netbeans项目?
我正在尝试在FreeBSD上构建我的应用程序 - 我得到了我的库的.a和.h文件(该库是恶魔图形库btw。)
我在:
中添加了库的include目录 File => Project Properties => Build => C++ Compiler => General => Include Directories
然后,在File => Project Properties => Build => Linkers => Libraries
下添加我的库作为文件:../../../source/devil/libIL.a
但是,当我编译它时,我收到以下错误:
No rule to make target ../../../source/devil/libIL.a
(我还试图在链接库的库路径的乞讨处添加-static
标志。
答案 0 :(得分:0)
在Ubuntu上,间接发送到加载程序的params必须以-Wl,
开头,如ld(man ld
)手册中所述:
注意---如果通过编译器驱动程序(例如gcc)间接调用链接器,则所有链接器命令行选项都应该以-Wl为前缀(或者适用于特定编译器驱动程序的任何内容),如下所示:
gcc -Wl,--start-group foo.o bar.o -Wl,--end-group
在Netbeans上使用"添加选项......"库菜单(项目属性>链接器>库)中的按钮可以执行此操作:
在上一张图片中,我使用-Wl,-static
静态链接了所有以前的库。
干杯,