我通过pacman安装了cmake 3.2.3.当我尝试从msys64 shell使用它时出错:
$ cmake -G "MSYS Makefiles" ..
CMake Error: Could not create named generator MSYS Makefiles
Run Code Online (Sandbox Code Playgroud)
cmake --help不会将其列为可用的生成器.
我确实看到/usr/share/cmake-3.2.3/Modules/Platform中有一个MSYS.cmake.
我错过了什么?
如果您使用 MinGW 在 Linux 上编译本机 Windows 二进制文件
和MinGW生成MSYS器仅在基于 Windows 的发行版上可用。请#ifdef参阅cmake.cxx:
Run Code Online (Sandbox Code Playgroud)#if defined(_WIN32) && !defined(__CYGWIN__)
如果您要进行交叉编译,请使用可用的 MinGW 工具链之一。请参阅CMake wiki 中的“如何使用 MinGW 交叉编译 Windows 软件”一章。
如果您使用 MinGW 在 Windows 上编译 Windows 二进制文件
在我的 Windows PC 上,我只有一个 CMake 安装(将 CMake 目录添加到 PATH 环境的普通 MSI Windows 安装程序),它可以在标准 CMD shell 和我的 MSYS shell 中运行。
因此,在这种情况下,无需安装特殊的 MinGW 版本的 CMake(例如 CygWin)。
但我最近多次使用 MinGW-w64 从源代码重建 CMake,以测试一些性能优化,cmake.exe但它并不能开箱即用。为了解决链接器错误,我按照此处-DCMAKE_EXE_LINKER_FLAGS="-Wl,--allow-multiple-definition"推荐的方式添加了内容,结果仍然支持“MSYS Makefiles”生成器。cmake.exe
所以是的,正如您所评论的, pacman 构建很可能存在问题。
| 归档时间: |
|
| 查看次数: |
8740 次 |
| 最近记录: |