2014-05-23 102 views
0

我试着去编译CodeLite并得到错误的静态库项目:CodeLite错误而编译库项目

ar rcus ./Debug/libtestlib.a @"testlib.txt" 
ar: @testlib.txt: No such file or directory 

但我有文件testlib.txt。当我出口巡视的makefile,我看到:

$(AR) $(ArchiveOutputSwitch)$(OutputFile) @$(ObjectsFileList) $(ArLibs) 

对我来说是奇怪地看到有@ ObjectsFileList附近的象征。我应该如何在CodeLite中编译静态库项目?

回答

3

@"testlib.txt"是让(你的情况或ar)的连接的方式从一个文件,而不是在命令行中读取对象名单,这是一些操作系统,因为做了,对输入的限制一个程序可以从命令行接受的字符串。

通常这不是一个问题(你没有提到什么是您的操作系统和CodeLite版本),但如果这是一个问题(如你的情况),你可以从CodeLite的菜单栏禁用此:

Settings -> Build Settings -> Compilers -> <Your Compiler Name> -> Advanced

,并取消选中“通过文件传递对象列表的链接” 和你的问题将不复存在

FYI: 我只看到OSX这个错误,这是这里的情况?

Eran

+0

是的,我在OSX上遇到了这个麻烦。我会尝试这个解决方案,下次我能够到我的Mac –

+0

我在OSX上有这个问题。看起来所需的* .txt文件已创建,但链接程序找不到它(?)。如上所述更改设置可以解决问题。 +1,谢谢。 –