0

在阅读了 Tristan 的这篇很棒的帖子后,他编译了 FreeTDS 以在 iOS 中使用,我尝试编译UnixODBC以在 iOS 中使用。我能够编译它,这很棒。

但是,当我编译 FreeTDS 时,我有一个.a文件,我可以轻松地将它带入 XCode(以及一些.h文件)。这一次,编译器没有生成.a文件。相反,它生成了一个.la和一个.dylib文件。到目前为止,我还无法在我的 iOS 项目中使用这些文件。

如果我能完成以下任何一项,我认为我的问题将得到解决:
    1. 重新编译 UnixODBC 以使其生成.a文件,或
    2. 将.la.dylib转换为.a文件,或
    3. 将.la.dylib导入我的项目,因此我可以像使用.a文件一样使用它。

到目前为止,我对如何做这些事情一无所知(或者是否有可能)。有人可以帮我吗?

谢谢!

-抢

4

1 回答 1

1

.dylib文件是动态链接的库,而.a文件是静态链接的(只需谷歌这两个表达式)。.la文件现在无关紧要,它们不是必需的,它们不包含任何代码,

如果configureUnixODBC 的脚本支持它,您可以指定--enable-static --disable-shared选项以启用构建 .a 存档而不是 dylib。如果配置脚本不接受这些标志,那么您可以继续编译源文件(它将由配置完成),然后使用生成的 dylib 代替生成的 dylib,使用ar命令将.o目标文件放在一起形成静态存档。

于 2013-02-06T18:23:31.880 回答