【问题标题】:Qt project files: win32 or win 64Qt 项目文件:win32 或 win 64
【发布时间】:2014-10-15 01:43:07
【问题描述】:

我对此感到困惑:

我的 Qt 创建器是 32 位的,而我的 Windows 是 64 位的。在 .pro 文件中,我应该使用 win 32{...} 还是 win 64 {...}?如果我想链接 OpenCV 库,我应该使用哪个,x64 还是 x86?

如果你能给我一点解释就更好了。

谢谢!

【问题讨论】:

    标签: windows qt opencv x86 64-bit


    【解决方案1】:

    Qmake 有一些平台和编译器变量,例如:win32unixwin32-msvc,... 可以在安装的 Qt 目录的 mkspecs 目录中找到。您可以拥有基于平台和编译器的条件 .pro 文件。例如,您可以拥有能够在 Windows 和 Linux 上编译的项目。您可以有条件地链接到外部库:

    win32: LIBS += -L$$PWD/Windows/Path/To/Library/ -lTheLibrary
    else:unix: LIBS += -L$$PWD/Linux/Path/To/Library/ -lTheLibrary
    

    如果您想检测您是在 Windows 上编译 32 位还是 64 位编译器并相应地链接到相关库,您可以使用:

    win32:contains(QMAKE_HOST.arch, x86_64) {
      LIBS += -L$$PWD/Path/To/Library_64Bit/ -lTheLibrary
    } else {
      LIBS += -L$$PWD/Path/To/Library_32Bit/ -lTheLibrary
    } 
    

    【讨论】:

      【解决方案2】:

      有很多帖子涵盖了这些差异,但要记住的重要部分是您必须在 compiler3rd 之间匹配架构您想使用的派对库

      例如,我有一台装有 Windows 64 位的计算机,我使用基于 Qt 5.3.1Qt Creator 3.2.1(开源)( MSVC 2010,32 位)。由于我的编译器是 32 位的,因此使用 32 位版本的 OpenCV 库很重要。

      所以我将在 .pro 文件中使用:

       LIBS += -L"C:\\opencv\\build\\x86\\vc12\\lib" \
               -lopencv_world300d
      

      【讨论】:

        猜你喜欢
        • 2010-09-26
        • 2020-01-15
        • 1970-01-01
        • 2023-04-09
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        相关资源
        最近更新 更多