CMAKE和MinGW 环境还真难配!

简介: 网上看到cmke + Mingw 的组合似乎是管理工程的一套比较好的工具组,但是实际使用上还是有很多问题,到现在还是有很多没有解决,   看来短期是没有办法使用了。   不过有几个原来存在的问题,也给了我一些提示,先记载在这里,后面要用的时候也好参考一下。   1. 首先认识一下两个工具:       Cmake -- 工程文件生成工具,可以生成根据CmakeLis

网上看到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后面安装,直接就没有办法用。

 

 

 

 

目录
相关文章
|
Ubuntu 异构计算 Windows
ModelScope问题之下载推荐的基础镜像失败如何解决
ModelScope镜像是指用于在ModelScope平台上创建和管理的容器镜像,这些镜像包含用于模型训练和推理的环境和依赖;本合集将说明如何使用ModelScope镜像以及管理镜像的技巧和注意事项。
465 0
|
存储 缓存 网络协议
DPDK入门(环境搭建以及小demo)
DPDK入门(环境搭建以及小demo)
1327 0
|
2月前
|
传感器 机器学习/深度学习 人工智能
当AI遇上智慧能源:边缘计算才是“节能王炸组合”
当AI遇上智慧能源:边缘计算才是“节能王炸组合”
291 13
|
6月前
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
1154 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
4月前
|
人工智能 测试技术 编译器
Python语言从2.7到3.14的能力变化与演进逻辑
Python自2008年进入3.0时代以来,经历了持续演进与革新。十六年间,从语言设计、标准库优化到性能提升、虚拟机改进,Python不断适应人工智能、云计算和微服务等技术的发展需求。本文全面梳理了Python 3发布以来的重要变化,涵盖编程风格现代化、类型系统完善、类库生态调整、性能优化突破以及虚拟机技术创新等多个维度,展示了Python如何在保持简洁易用的同时,实现高效、稳定和可扩展的工程能力。未来,Python将在性能、类型安全和云原生等方面持续进化,进一步巩固其在现代软件开发中的核心地位。
427 30
|
开发框架 前端开发 JavaScript
使用DevExpress的GridControl实现多层级或无穷级的嵌套列表展示
使用DevExpress的GridControl实现多层级或无穷级的嵌套列表展示
|
网络架构 CDN
解决方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可参考)
解决方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可参考)
4569 0
|
容器
QML之定位器(Column,Row,Flow,Grid)
QML之定位器(Column,Row,Flow,Grid)
1080 2
|
存储 缓存 Linux
Linux驱动开发(锁和信号量的概念及实现原理)
Linux驱动开发(锁和信号量的概念及实现原理)
334 0