【问题标题】:How can I force qtcreator to create non-universal binaries如何强制 qtcreator 创建非通用二进制文件
【发布时间】:2010-08-26 13:06:10
【问题描述】:

当我在 mac 上使用 qtcreator 时,它会创建通用二进制文件。

有谁知道如何设置它以创建一个“本机”二进制文件? (所以在我的情况下是 i386'?)

Qtcreator 使用 qmake 作为构建系统。

到目前为止,Google 还不是我的朋友,我希望 stackoverflow 可以。

编辑: 到目前为止我的配置文件:

TARGET = mongowriter
CONFIG   += console
CONFIG   -= app_bundle
CONFIG += x86
#CONFIG -= ppc 

TEMPLATE = app

INCLUDEPATH += /opt/local/include/.
INCLUDEPATH += ../mongodb/.

SOURCES += main.cpp

LIBS += /usr/local/lib/libmongoclient.a
LIBS += /opt/local/lib/libboost_thread-mt.a
LIBS += /opt/local/lib/libboost_filesystem.a
LIBS += /opt/local/lib/libboost_program_options.a

它仍然在 libmongoclient.a 上给出错误
libboost 库都可以,但这是因为我是从带有 +universal 选项的 macports 获得的。

由于 mongoclient 不支持通用,我目前正在删除所有通用的东西。我希望为 boost libs 得到 3 个错误,并且至少;east mongoclient 会链接。 那时我可以再次重做整个 macport 的故事,但这次删除了通用。

不幸的是,它似乎仍然构建了一个通用二进制文件,因为我仍然有相同的链接器错误。

感谢您的帮助

【问题讨论】:

    标签: macos qt-creator qmake universal-binary i386


    【解决方案1】:

    您可以在项目文件中使用“CONFIG”变量来指定应支持哪些平台来创建您使用的通用二进制文件

     CONFIG += x86 ppc
    

    如果您只需要 x86,则使用

     CONFIG += x86
    

    【讨论】:

    • 它似乎仍然可以制作通用二进制文件,因为链接器错误仍然相同。我已经更新了我的问题,以向您展示我现在拥有的配置。可以肯定的是,我还添加了 CONFIG -= ppc,希望这会将其从通用构建中删除。有什么想法吗?
    • 您可以尝试使用仅针对 x86 编译的 qt 版本 - 但我不确定这是否有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    相关资源
    最近更新 更多