找不到-llib的库。 (clang:错误:链接器命令失败,退出代码为1(使用-v查看调用))

时间:2014-08-11 08:51:49

标签: ios xcode clang linker-errors

我正在开发一个以前完成并上传到app store的项目。当我在Xcode 5.0中运行这个应用程序时它工作正常但是当我在Xcode版本5.1.1(5B1008)上运行时我收到链接器错误在设备和模拟器上。

错误消息 - 找不到-llib的库。 (clang:错误:链接器命令失败,退出代码为1(使用-v查看调用))

我搜索了很多,但我没有得到任何关于Library not found for -llib错误的帖子。我是否需要在构建设置中更改以解决此问题?

3 个答案:

答案 0 :(得分:6)

详细查看正在使用的-L选项的链接器命令行:

enter image description here

然后使用终端 Finder 查看这些目录中是否存在libXXX.a文件。如果该库存在于其他位置,则需要配置库搜索路径

enter image description here

但是,在应用程序中使用库时,您在问题中没有提供一些细节:

  • 是否将库构建为Xcode项目/工作区的一部分(如第一张图片中所示)?
  • 第三方是否提供了二进制文件(.a)和头文件(如第二张图片所示)?

答案 1 :(得分:0)

TL; DR:我在错误的目录中运行了make,因此路径混乱了。

问题:

>make
linking ../build/release/yubikey-personalization-gui
/usr/x86_64-suse-linux/bin/ld: cannot find -llib
...

在编译Yubikey Personalization Tool时遇到了这个问题。我在我的-llib中跟踪了Makefile这个看起来像这样的电话:

...
LINK = @echo linking $@ && g++
...
LIBS = $(SUBLIBS)  -L/usr/lib64 -L../lib/release -llib -lyubikey -lykpers-1 -lQtGui -L/usr/lib64 -L/usr/X11R6/lib -lQtCore -lpthread 
...
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)

所以它设置了一个名为LINK的变量,它将打印“链接”,然后调用g++,这是编译器。 然后设置var LIBS,它将保留不祥的-llib。 然后它编写并运行命令$(LINK) ... $(LIBS)。 其中g++的参数为-llib

这是做什么的?结果-l<something>告诉编译器使用something - 库。所以它在这里请求名为lib的库。这是奇怪的通用。我发现源代码附带了一个名为lib/的目录,该目录位于../lib

所以从更高的目录开始make修复它。

答案 2 :(得分:0)

您应该从xcode项目中的其他链接器标记中删除libstdc ++

https://stackoverflow.com/a/53103383/1344237