在阅读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
答案 0 :(得分:1)
.dylib
个文件是动态链接库,而.a
个文件是静态链接的文件(只是google这两个表达式)。 .la
文件现在不相关,它们不是必需的,它们不包含任何代码,
如果UnixODBC的configure
脚本支持它,您可以指定--enable-static --disable-shared
选项以启用构建.a存档而不是dylib。如果configure脚本不接受这些标志,那么你可以继续编译源文件(它将通过configure完成),然后使用ar
命令来代替获取生成的dylib。 .o
将目标文件组合在一起形成静态存档。