Qt项目文件:win32或win 64

时间:2014-10-15 01:43:07

标签: windows qt opencv x86 64-bit

我对此感到困惑:

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

如果你能给我一点解释,那会更好。

谢谢!

2 个答案:

答案 0 :(得分:2)

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
} 

答案 1 :(得分:1)

有很多帖子涵盖了这些差异,但要记住的重要部分是你必须匹配编译器第3版之间的架构您想要使用的派对图书馆

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

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

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