繁体   English   中英

Qt项目文件:win32或win 64

[英]Qt project files: win32 or win 64

我对此感到困惑:

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

如果您能给我一些解释,那会更好。

谢谢!

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
} 

有很多文章讨论了这些差异,但是要记住的重要部分是,必须使编译器和要使用的第三方库之间的体系结构匹配

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

因此,在.pro文件中,我将使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM