1

我在 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 位构建。

不过,这是一个有点骇人听闻的解决方案,让我知道是否可以以更清洁的方式完成...

4

1 回答 1

1

你从某个地方拉下图书馆吗?Poco 附带所有源代码。重新编译它。

于 2009-11-13T16:48:46.567 回答