mingw64+msys2下使用cmake问题
直接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问题相关推荐
- 在Ubuntu18.04下的Cmake使用记录
(1)首先是安装cmake.命令如下: sudo apt-get install cmake (2)创建一个源程序,1.cpp如下:(1.cpp的位置是位于hoem/ysh/code) #includ ...
- Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)
OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path=$(realpath ...
- Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤
在 CUDA_Test 工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...
- win命令安装 安装cmake_win10下VSCode+CMake+Clang+GCC环境搭建教程图解
打算用C/C++把基本的数据结构与算法实现一遍, 为考研做准备, 因为只是想实现算法和数据结构, 就不太想用VisualStudio, 感觉VSCode不错, 遂在网上找了一些教程, 结合自己的需求, ...
- 在 linux 下使用 CMake 构建应用程序
CMake 简介 CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windo ...
- Windows下用CMake编译JsonCpp及配置(适合新手)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 JsonCpp是什么? JSON是一种轻量级的数据交换格式.它可以表示数字.字符串.有序的值序列 ...
- AndroidStudio下使用cmake开发ndk
前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的. 1. 它没有代码提示!!!这意味着我们必须自己手动敲出所有的代码,对于一个新手来说,要一个字母都不错且大小写也要正确,甚至要记得住所有 ...
- 脱离AS在windows下使用CMake交叉编译for Android
脱离AS在windows下使用CMake交叉编译for Android 前言 可能有Android开发经验并搞过jni的撸友知道,使用Android ndk 中的ndk-build 结合Android ...
- Linux下安装CMake的方法
linux(ubutun)下安装CMake的方法 文章目录 linux(ubutun)下安装CMake的方法 前言 一.CMake是什么? 二.安装步骤 1.CMake下载网站 2.在上述官网下载压缩 ...
最新文章
- php case语句 分号
- 戏说肥哥系列之---买车
- 空车上路,Waymo拿下加州首个“真”无人驾驶许可证
- Cython fatal error C1083: 无法打开包括文件: “numpy/arrayobject.h”: No such file or directory
- 开发日记-20190621 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
- linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
- coverity代码检测工具介绍_微服务测试之静态代码扫描
- ESDF建图库voxblox的安装编译过程
- request获取各种路径总结
- php代码审计是什么意思,php代码审计基础篇
- 怎么在网站中正确使用JQuery代码
- 系统更新链接服务器超时,win10系统更新导致Dr.com连接认证服务器超时的解决方法...
- Kaggle/Titanic python分析和建模
- shell脚本学习总结02--数组
- 从陪练到赢家:人机博弈的六十年
- 实景化数字城市共享信息平台
- [Game Engine]开源游戏框架(转至wiki)
- 【JavaWeb】之富文本编辑器
- 将list对象存储进redis中去
- C++之父 Bjarne Stroustrup
热门文章
- 修改yum的镜像服务器为阿里云
- 那些年,在nodejs上踩过的坑
- 网上订餐python_来自美国网上订餐网站的创新
- label qt 自动换行_QT编写一个登录界面
- 微信小程序 等待几秒、_微信小程序—setTimeout定时器的坑
- [转载] java实现四种常用排序算法
- Java ArrayList get()方法与示例
- python的pass语句_Python | 演示pass语句的示例
- win10 iot core java_Windows 10 IoT Core 正式版初体验
- 查找文件中每行第二个单词_日语单词中的长短音区别在哪里,日语长短音发音有什么规律...