在Xcode 7中链接静态C库?
问题描述:
我正在尝试将我创建的静态C库链接到新的Xcode项目。要链接它,我也跟着下面的说明:在Xcode 7中链接静态C库?
1)导航到构建阶段
2)展开链接的二进制文件库
3)增加了 “其他” 库,然后指定了有问题的.a文件。
不幸的是,该项目将不会编译并引发以下错误:
ld: library not found for -ltxht
我不知道本作的到底是什么。该图书馆似乎在项目中看起来好像是一个项目文件,我无法找到任何迹象表明这有什么问题。
我试着将它的位置设置为在文件检查器中使用绝对路径,但这并没有改变任何东西。
我也看到,在一些类似网上的帖子,不知怎的,提供完整路径静态库可能有助于解决问题:
In reaction to your comment on Eduard Wirch' answer: you can also control static linking for this one library only, if you replace -lhdf5 by -l/full/path/to/libhdf5.a
但是,我不知道如何做到这一点?我已经进入构建设置,并没有看到任何网页的选项,但没有太多下头或链接,似乎让我做我想做的。
任何人都可以解释如何正确地添加这个静态C库吗?只是为了您的信息,相对于库的位置该项目的位置如下:
库:/lib/libtxht/libtxht.a
Xcode项目:/lib/libtxvm/myProject.xcodeproj
答
如果这是一个外部静态库,你需要在Build Settings下将其存在的路径添加到Library Search Paths
。不是完整的路径,只是它所在的目录。
谢谢!有效!但是,我似乎无法使用库中的任何头文件。为什么会这样?我试过包括他们,但Xcode只是抛出了一个错误。通过终端将档案链接到C文件,然后执行似乎在包含头文件时工作正常。只是似乎无法在Xcode中完成。 – Micrified
您需要调整“标题搜索路径”以获取lib包含文件的路径。 –
@MobileBen。也一样,但不适合我的项目。我的图书馆是PayTabs SDK图书馆,以.a分机结尾 –