target_compile_features 在 MSYS2 中的 MinGW-w64 上失败
target_compile_features fails on MinGW-w64 in MSYS2
我最近在 Windows 上安装了 MSYS2,以及 MinGW-w64 工具链和 CMake。具体来说,我使用了以下软件包:
mingw-w64-i686-gcc
mingw-w64-i686-cmake
make
问题是,每当我使用 cmake -G"MSYS Makefiles"
从 MSYS2 shell 中调用 CMake 时,它会失败并显示以下内容:
target_compile_features no known features for CXX compiler
"GNU"
version 4.9.2.
CMakeLists.txt 中产生错误的行是这样的:target_compile_features(myproject PUBLIC cxx_decltype)
.
如果我 运行 使用 "MinGW Makefiles" 生成器从 MSYS2 shell 外部进行 CMake(我也单独安装了它),则 makefile 生成成功。
在MSYS2中,CMake版本是3.2.3。外面的版本是3.3.0.
有什么办法可以解决这个问题吗?提前致谢。
运行 从 mingw64_shell.bat 或 mingw32_shell.bat 生成。否则 CMake 将选择 msys2 GCC 而不是本地 GCC。
CMake 3.3 与 gcc 4.8+ 的 compile features
机制交互存在错误:
https://public.kitware.com/Bug/view.php?id=15443。它已在几个月前修复。您需要应用该修复程序。
我最近在 Windows 上安装了 MSYS2,以及 MinGW-w64 工具链和 CMake。具体来说,我使用了以下软件包:
mingw-w64-i686-gcc
mingw-w64-i686-cmake
make
问题是,每当我使用 cmake -G"MSYS Makefiles"
从 MSYS2 shell 中调用 CMake 时,它会失败并显示以下内容:
target_compile_features no known features for CXX compiler
"GNU"
version 4.9.2.
CMakeLists.txt 中产生错误的行是这样的:target_compile_features(myproject PUBLIC cxx_decltype)
.
如果我 运行 使用 "MinGW Makefiles" 生成器从 MSYS2 shell 外部进行 CMake(我也单独安装了它),则 makefile 生成成功。
在MSYS2中,CMake版本是3.2.3。外面的版本是3.3.0.
有什么办法可以解决这个问题吗?提前致谢。
运行 从 mingw64_shell.bat 或 mingw32_shell.bat 生成。否则 CMake 将选择 msys2 GCC 而不是本地 GCC。
CMake 3.3 与 gcc 4.8+ 的 compile features
机制交互存在错误:
https://public.kitware.com/Bug/view.php?id=15443。它已在几个月前修复。您需要应用该修复程序。