也安装了MinGW-w64时如何只为MSCV查找Qt5?

时间:2018-10-03 14:00:03

标签: visual-c++ cmake qt5 mingw-w64 kdevelop

C:\Qt\5.12.0下存在2个文件夹:

C:\
   |->Qt\
         |->5.12.0\
                   |->mingw73_64\
                   |->msvc2017_64\

PATH中只有一个进入时,两者都可以正常工作。这是因为如果MinGW-w64中的PATH是第一个,则VC ++永远不会使用正确的文件夹来查找Qt5。 CMAKE_PREFIX_PATH不起作用,因为CMake在CMakeLists.txt中找到它的时刻已经太晚了。

#Not working
if(WIN32) # Check if we are on Windows
    if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) # Check if we are using the Visual Studio compiler.
        set(CMAKE_PREFIX_PATH "C:\\Qt\\5.12.0\\msvc2017_64\\")
    endif()
endif(WIN32)
find_package(Qt5Widgets CONFIG REQUIRED) #It finds MinGW-w64

现在,我发现了一种指示KDevelop和CMake使用msvc文件夹的黑手党方式:PATH中只有MinGW,并且在kdevelop-msvc.batch中使用了以下代码:

SET PATH=C:\Qt\5.12.0\msvc2017_64;%PATH%

CMake在PATH的其余部分(包括MinGW)之前对其进行了定义,从而为VC ++找到了正确的Qt5模块。

但是我想找到一种更优雅,更可移植的解决方案,以便在Windows上发现Qt5。有什么想法吗?

0 个答案:

没有答案