CMAKE和MinGW 环境还真难配!

网上看到cmke + Mingw 的组合似乎是管理工程的一套比较好的工具组,但是实际使用上还是有很多问题,到现在还是有很多没有解决,

 

看来短期是没有办法使用了。

 

不过有几个原来存在的问题,也给了我一些提示,先记载在这里,后面要用的时候也好参考一下。

 

1. 首先认识一下两个工具:

 

    Cmake -- 工程文件生成工具,可以生成根据CmakeLists.txt 生成工程文件,包括很多的编译器,在命令提示符窗口键入 cmake 回车

 

就可以看到了。 若是显示“ 'cmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。” 就看第二条。

 

2. 环境变量的配置。

 

要在"我的电脑"->右键属性—>高级->环境变量->PATH,增加两个工具的bin文件夹的目录。

 

这样才能在CMD 或者直接编译和生成makefile。

 

3. 主要问题出现了。

 

建立
一个目录,写好 “hello world” 和简单的CmakeLists,预报测试。

 

3.1 输入cmake -G“Visual Studio 9 2008 " ,生成vs 2008的工程,直接编译OK。

3.1 删除除了hello world 和cmakeLists 文件外所有文件,cmd 直接 cmake -G "Unix Makefiles" ,总是发现c编译器测试失败。

 

没有办法看了看../CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake

   

              里面过程倒不是很复杂:就是建立一个新的文件,然后测试编译。

 

     里面最主要的参数就是:CMAKE_C_COMPILER_WORKS ,这个还真不知道是什么。。

 

     应该和他有点关系吧。

 

      编译代码如下:

TRY_COMPILE(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR} 

 

  
 
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c

 

    
OUTPUT_VARIABLE OUTPUT) 

 

4. 问题解决:

 

问题的解决太意外了,居然是重装cmake,然后就出现如下一幕。

 

 

 

 

J:/Project/TestBuild/build>cmake -G"Unix Makefiles" ..

-- The C compiler identification is GNU

-- The CXX compiler identification is GNU

-- Check for working C compiler: E:/CodeSoftware/MinGW/bin/gcc.exe

-- Check for working C compiler: E:/CodeSoftware/MinGW/bin/gcc.exe -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler: E:/CodeSoftware/MinGW/bin/c++.exe

-- Check for working CXX compiler: E:/CodeSoftware/MinGW/bin/c++.exe -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Configuring done

-- Generating done

-- Build files have been written to: J:/Project/TestBuild/build

 

5. 问题还在继续.

 

分析原因,可能是cmake不能识别后安装的编译器。vs2008 早就安装好了,一用就OK。

 

mingw后面安装,直接就没有办法用。

 

 

 

 

时间: 2024-07-30 00:27:52

CMAKE和MinGW 环境还真难配!的相关文章

用spring的quartz做定时器,,时间好难配啊,看不懂- -

问题描述 用spring的quartz做定时器,,时间好难配啊,看不懂- - 我想让每天的凌晨1点执行一次,时间怎么配置呢 还有 property name="cronExpression" value="0 0/10 * * * ? *" 中是每十分钟执行一次吗?那个问号是什么意思呢?问号的位置是任意写哪都可以吗? 菜鸟求助!!!! 解决方案 看一下时间设置样例讲解http://www.360doc.com/content/11/1017/10/1542811_1

想真正的入门还真难,你们有什么要说的。

问题描述 想真正的入门还真难,你们有什么要说的. 解决方案 解决方案二:没什么要说的,真的很难的,解决方案三:挑战我哦...1分贴

实名制需解决问题多 可净化网络环境却难救CN域名

中介交易 SEO诊断 淘宝客 云主机 技术大厅 一个月前,央视曝光CN域名信息审查不严管理不善,导致存在大量色情网站,黄色违法信息泛滥后,CNNIC迫于压力,发布<关于进一步加强域名注册信息审核工作的公告>,明确只有企业能够注册CN域名,要求用户向域名注册服务机构在线提交域名注册申请材料,没有企业营业执照或组织机构代码证的个人用户,将无法申请注册域名.该公告实施后个人注册CN域名的活动被叫停.然而仅在个人注册禁令实施第一周,中国境内在国际域名注册机构注册的人数就上涨了10倍.另外,也有人被迫冒

4G、5G难配物联网 hold不住也得死撑

物联网是决定未来经济的关键技术.无所不在的万物互联终将成为现实.然而,无所不在的物联网覆盖,并没有那么容易实现. ZigBee/6LoWPAN或IEEE 802.11ah等物联网技术,仅适于短距离物联网覆盖,且无法保证可靠的网络协调控制.卫星通信的成本让人望而却步,能耗高,且无法抵达室内. 时代在召唤,蜂窝网络潇洒走过来. 物联网娇躯一震,勾搭上了已覆盖全球的2/3/4G网络,跟他在一起可以至少少奋斗十年. 2/3/4G网络就像富一代,成熟稳重,温柔多金,还特有安全感.它网络覆盖广,分布密集,有

熊晓鸽:创业板公司难配高股价 成创投提款机

中国创业者训练营昨日清华大学开营,总规模已达32亿美元的IDG创业投资基金创始合伙人熊晓鸽在与会期间,接受了我台采访.他表示,大力发展创投有助于中国经济增长和促进就业.但是在创业板的市盈率还是过高了.熊晓鸽认为,高市盈率的创业板公司未来可能将会面临挑战.创业板公司的优秀程度是否配得上高高在上的股价,有待下半年时间检验.很多公司过分依赖国内市场,与海外及全球市场关联程度差,又在国内上市,却接受海外背景较深的创投资本扶持上市,一些创业板公司沦为创投的超级提款机. 根据深交所网站的数据,9日收盘后,创

性能测试知多少---测试环境搭建

在进行性能则试前,需要完成性能测试的搭建工作,一般包括硬件环境.软件环境及网络环境,可以要求配置和开发工程师协助完成,但是作为一个优秀性能测试工程师,这也是你的必备技能之一.   性能测试环境与功能测试环境的区别                                                  那么性能测试环境与功能测试环境有什么不同呢?性能测试对测试环境的干净.独立性要求更高,更为严格.对于一个相对较规范的公司,都会建立其独立的研发环境.测试环境.线网环境(最终运行软件的环境)

mingw-windows环境下 vala程序生成c文件问题

问题描述 windows环境下 vala程序生成c文件问题 目前在研究交叉环境,使用mingw32编译项目,项目中有vala程序. 程序命令使用过程为: #cmake -G "MinGW Makefiles" ... #make #make install 在进行make命令的时候,vala程序生成了新的c文件,其中生成的c文件中,都有类似此行报错: #line 1199 "D:msys64mingw64share/vala-0.30/vapi/glib-2.0.vapi&q

cmake 学习笔记(一)

最大的Qt4程序群(KDE4)采用cmake作为构建系统 Qt4的python绑定(pyside)采用了cmake作为构建系统 开源的图像处理库 opencv 采用cmake 作为构建系统 ... 看来不学习一下cmake是不行了,一点一点来吧,找个最简单的C程序,慢慢复杂化,试试看: 例子一 单个源文件 main.c 例子二 ==>分解成多个 main.c hello.h hello.c 例子三 ==>先生成一个静态库,链接该库 例子四 ==>将源文件放置到不同的目录 例子五 ==&g

cmake使用示例与整理总结

本文代码托管于github  cmake_demo cmake中一些预定义变量 PROJECT_SOURCE_DIR 工程的根目录 PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build CMAKE_INCLUDE_PATH 环境变量,非cmake变量 CMAKE_LIBRARY_PATH 环境变量 CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的路径 CMAKE_CURRENT_