将.dylib或.la文件导入iOS项目

时间:2013-02-06 17:58:05

标签: ios xcode compilation cross-compiling unixodbc

在阅读this awesome post by Tristan后,他编译FreeTDS以便在iOS中使用,我尝试编译UnixODBC以便在iOS中使用。我能够让它编译,这很棒。

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

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

到目前为止,我对如何做这些事情(或者甚至是可能的话)都毫无头绪。有人可以帮帮我吗?

谢谢!

-Rob

1 个答案:

答案 0 :(得分:1)

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

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