Snow Leopard上的链接错误

时间:2009-11-13 16:47:05

标签: c++ qt poco

我在Mac OS X Snow Leopard上使用Qt和Poco创建了一个小型桌面应用程序。

Qt工作正常,但是一旦我开始与Poco链接,我会收到以下警告:

ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/usr/local/lib/libPocoFoundation.8.dylib, file is not of required architecture

当我链接10.5 SDK时:

ld: warning: in /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libPocoFoundation.8.dylib, file is not of required architecture

有关如何解决此问题的任何提示?

解决!

这是我的解决方法(我也将它发布在Poco论坛上):

问题是,当未指定架构时,Snow Leopard默认为64位,而旧版本的操作系统默认为32位。在Poco构建系统中,Darwin配置文件没有指定架构,因此它选择了32位。我的解决方案是将Darwin_x86_64配置文件复制到Darwin文件上,并将'x86_64'的文本实例替换为'i386'。这会强制构建32位。

虽然这是一个有点狡猾的解决方案,让我知道是否可以以更清洁的方式完成......

1 个答案:

答案 0 :(得分:1)

你是从某个地方拆下图书馆了吗? Poco附带所有来源。重新编译它。