首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有fink macport和自制软件对狮子有用吗?

没有fink macport和自制软件对狮子有用吗?
EN

Stack Overflow用户
提问于 2012-03-25 08:48:21
回答 1查看 364关注 0票数 0

我有一个库(flam3),它依赖于unix的几个实用程序库(xml2,jpeg,png,z),我正在尝试在Lion上开发一个使用它的应用程序。我正在使用最新的Xcode构建,当我尝试链接来自fink、macports和homebrew的库时,我得到了相同的错误:

ld:警告:忽略文件/opt/local/lib/libxml2.a,文件是为不是要链接的体系结构(i386)的归档构建的

而且这些库看起来与正常工作的库不同:

bash-3.2$ file /sw/lib/libxml2.a /sw/lib/libxml2.a:当前的ar归档随机库

通过比较

bash-3.2$ file ~/Documents/FLAM3/libflam3.a /Users/spot/Documents/FLAM3/libflam3.a:具有2个架构的Mach-O通用二进制文件/Users/spot/Documents/FLAM3/libflam3.a (针对架构x86_64):当前ar归档随机库/Users/spot/Documents/FLAM3/libflam3.a (针对架构i386):当前ar归档随机库

这是我用Xcode编译的库。

有没有办法让Xcode接受这个库?有没有办法让fink/macports/homebrew生成一个支持Xcode的库?似乎我“做错了”,因为如果每个人都有这个问题,这些项目都将是无用的……但我不觉得我做了什么不寻常的事。帮助?

EN

回答 1

Stack Overflow用户

发布于 2012-03-29 04:15:51

问题是您的libxml2.a不是作为“通用二进制”构建的。也就是说,它不包含所有必要的架构(在您的例子中,我相信它是i386)。你需要让fink、macports或homebrew在所有必要的平台上构建/下载/安装库。我知道macports有这样的标志(我不记得它是怎么叫的了)。只有当文件是真正通用的(包含ppc、i386、x86_64中的两个或多个)时,“.a”命令才会列出该文件的所有可用体系结构,否则它只会显示普通的"ar archive...“消息。这证实了您的libxml2.a只有一个架构。

问题不在Xcode或Lion。可能Lion上的默认链接架构发生了变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9857022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档