2

我正在 Xcode 中构建一个 C++ 命令行工具。该项目包含用于 curl、boost 和 log4cpp 的 dylib。

理想情况下,我喜欢构建一个支持 10.4 到 10.6 的 i386 通用二进制文件。

我似乎无法编译 Xcode,当我以 10.4 为目标时,它说没有这样的文件或目录。

当我以 10.6 x_64 为目标时,它可以构建,但 10.5 i386 抱怨我的 dylib 不是 10.5 的正确架构?

我应该使用什么版本的 GCC?

另外,当我使用 PackageMaker 创建安装包时,安装程​​序应该将工具所需的 dylib 放在哪里?

非常感谢,托比。

4

4 回答 4

2

第 3 方库是为 10.6 x_64 构建的,我需要为 10.4 重建它们。

我通过下载 xcode 3.2 并在安装过程中选择“安装 10.4 支持”来安装 10.4u sdk。

在针对 10.4u sdk 使用 GCC 4.0 重建每个库后,我的项目编译成功。

我还使用了静态库,因此我不需要将它们包含在安装程序中。

于 2010-02-07T16:21:36.087 回答
0

您应该能够只选择 10.4 SDK 和 gcc 4.0 并构建一个可在 10.4 及更高版本上运行的可执行文件。

于 2010-02-06T14:14:26.610 回答
0

您的库可能仅针对 X86_64 构建。您需要将库重新编译为通用二进制文件。

编辑:使用 10.4 SDK。

于 2010-02-06T14:28:05.943 回答
0

在 Project 菜单中,选择 Set Active SDK,然后在此处选择 Mac OS X 10.4。

如果您使用该 SDK 遇到链接错误,您可能添加了不是为 10.4 构建的库

确保您使用的是 10.4 库,例如 libcurl 可以在

/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/libcurl.dylib

您可能正在与

/usr/lib/libcurl.dylib

这将是您正在运行的操作系统的版本(我假设是 10.6)

于 2010-02-06T17:04:17.403 回答