在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

this SO Post

但是,我不知道如何做到这一点?我已经进入构建设置,并没有看到任何网页的选项,但没有太多下链接,似乎让我做我想做的。

任何人都可以解释如何正确地添加这个静态C库吗?只是为了您的信息,相对于库的位置该项目的位置如下:

库:/lib/libtxht/libtxht.a Xcode项目:/lib/libtxvm/myProject.xcodeproj

如果这是一个外部静态库,你需要在Build Settings下将其存在的路径添加到Library Search Paths。不是完整的路径,只是它所在的目录。

+0

谢谢!有效!但是,我似乎无法使用库中的任何头文件。为什么会这样?我试过包括他们,但Xcode只是抛出了一个错误。通过终端将档案链接到C文件,然后执行似乎在包含头文件时工作正常。只是似乎无法在Xcode中完成。 – Micrified

+1

您需要调整“标题搜索路径”以获取lib包含文件的路径。 –

+0

@MobileBen。也一样,但不适合我的项目。我的图书馆是PayTabs SDK图书馆,以.a分机结尾 –