0

Im trying to compile static library project with CodeLite and getting error:

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

But i have file testlib.txt. When i inspect exported makefile i see:

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

For me it is strange to see there @ symbol near ObjectsFileList. How should i compile static library project in CodeLite ?

4

1 回答 1

4

@"testlib.txt"是一种让链接器(或ar在您的情况下)从文件而不是从命令行读取对象列表的方法,这样做是因为在某些操作系统上,程序可以接受的输入字符串存在限制从命令行。

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

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

并取消选中选项:“通过文件将对象列表传递给链接器”,您的问题将消失

仅供参考:我只在 OSX 上看到这个错误,这里是这种情况吗?

伊兰

于 2014-05-23T15:01:37.323 回答