直接pacman -S cmake 安装的并不好用,直接下载windows版本的cmake. 比如安装在D:\\cmake下. 然后设置环境变量

export PATH=D:/cmake/bin:$PATH

然后编辑一个 toolchain-mingw64.cmake文件:

SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
SET(CMAKE_RANLIB x86_64-w64-mingw32-ranlib)

SET(CMAKE_ASM_YASM_COMPILER yasm)

保存后。

接下来: cmake -G"Unix Makefiles" . -DCMAKE_TOOLCHAIN_FILE=toolchain-mingw64.cmake 就可以生成makefile文件.

注意上面的 toolchain-mingw64.cmake内容 这些变量可能要根据实际情况设置。

还有个问题,mingw64生成的dll往往依赖libgccxxx.dll 和 libstdc++.dll, 如何不依赖,给 toolchain-mingw64.cmake加入下面的代码即可

SET(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
SET(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static")
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-static-libgcc -static-libstdc++ -static")

SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")

到此为止应该能帮你解决掉部分问题。

mingw64+msys2下使用cmake问题相关推荐

  1. 在Ubuntu18.04下的Cmake使用记录

    (1)首先是安装cmake.命令如下: sudo apt-get install cmake (2)创建一个源程序,1.cpp如下:(1.cpp的位置是位于hoem/ysh/code) #includ ...

  2. Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)

    OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path=$(realpath ...

  3. Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤

    在 CUDA_Test  工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...

  4. win命令安装 安装cmake_win10下VSCode+CMake+Clang+GCC环境搭建教程图解

    打算用C/C++把基本的数据结构与算法实现一遍, 为考研做准备, 因为只是想实现算法和数据结构, 就不太想用VisualStudio, 感觉VSCode不错, 遂在网上找了一些教程, 结合自己的需求, ...

  5. 在 linux 下使用 CMake 构建应用程序

    CMake 简介 CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windo ...

  6. Windows下用CMake编译JsonCpp及配置(适合新手)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 JsonCpp是什么? JSON是一种轻量级的数据交换格式.它可以表示数字.字符串.有序的值序列 ...

  7. AndroidStudio下使用cmake开发ndk

    前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的.  1. 它没有代码提示!!!这意味着我们必须自己手动敲出所有的代码,对于一个新手来说,要一个字母都不错且大小写也要正确,甚至要记得住所有 ...

  8. 脱离AS在windows下使用CMake交叉编译for Android

    脱离AS在windows下使用CMake交叉编译for Android 前言 可能有Android开发经验并搞过jni的撸友知道,使用Android ndk 中的ndk-build 结合Android ...

  9. Linux下安装CMake的方法

    linux(ubutun)下安装CMake的方法 文章目录 linux(ubutun)下安装CMake的方法 前言 一.CMake是什么? 二.安装步骤 1.CMake下载网站 2.在上述官网下载压缩 ...

最新文章

  1. php case语句 分号
  2. 戏说肥哥系列之---买车
  3. 空车上路,Waymo拿下加州首个“真”无人驾驶许可证
  4. Cython fatal error C1083: 无法打开包括文件: “numpy/arrayobject.h”: No such file or directory
  5. 开发日记-20190621 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  6. linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
  7. coverity代码检测工具介绍_微服务测试之静态代码扫描
  8. ESDF建图库voxblox的安装编译过程
  9. request获取各种路径总结
  10. php代码审计是什么意思,php代码审计基础篇
  11. 怎么在网站中正确使用JQuery代码
  12. 系统更新链接服务器超时,win10系统更新导致Dr.com连接认证服务器超时的解决方法...
  13. Kaggle/Titanic python分析和建模
  14. shell脚本学习总结02--数组
  15. 从陪练到赢家:人机博弈的六十年
  16. 实景化数字城市共享信息平台
  17. [Game Engine]开源游戏框架(转至wiki)
  18. 【JavaWeb】之富文本编辑器
  19. 将list对象存储进redis中去
  20. C++之父 Bjarne Stroustrup

热门文章

  1. 修改yum的镜像服务器为阿里云
  2. 那些年,在nodejs上踩过的坑
  3. 网上订餐python_来自美国网上订餐网站的创新
  4. label qt 自动换行_QT编写一个登录界面
  5. 微信小程序 等待几秒、_微信小程序—setTimeout定时器的坑
  6. [转载] java实现四种常用排序算法
  7. Java ArrayList get()方法与示例
  8. python的pass语句_Python | 演示pass语句的示例
  9. win10 iot core java_Windows 10 IoT Core 正式版初体验
  10. 查找文件中每行第二个单词_日语单词中的长短音区别在哪里,日语长短音发音有什么规律...