`
xumingrencai
  • 浏览: 1179702 次
文章分类
社区版块
存档分类
最新评论

由CMake构建的vs2005项目的弊端之我见

 
阅读更多

距离第一次使用CMake已经3~4个月了,虽然这个工具能由彻头彻尾的源代码生成各种IDE下面的项目

但我还是感到很不爽,因为所生成出来的项目并不完全等同于真正意义上的实打实的项目,这个不容易理解

我可以举个例子,如同我将box2d的源码生成为VS2005的项目之后

ok,虽然双击build出来的.sln文件可以正常编译生成出来的项目,但是,

实际上项目中的头文件还是在源码文件夹下面的,也就是说,

在这个生成出来的VS2005项目中,cpp文件,h文件只相当于源码文件夹中的快捷方式~

3个月前刚刚研究box2d源代码的时候,对box2d是刚认识,对c、c++也不熟练,对vs2005 c++部分更是不熟练

我就每天鼓捣项目设置,争取能够理解项目设置中每一项设置到底会影响到什么,就是下面这个图里面的东西:


我花了很长一段时间来摸索,因为我有一个很明确的目标,我要将box2d里面的所有源码文件copy到项目的文件夹里面

不再使用由cmake生成出来的那种所有源代码文件都被映射成快捷方式的项目,这样的话让我感觉自己对项目的结构了如指掌,踏实!

可以对比一下cmake生成出来的项目真正包含.cpp,.h文件的项目间的差别:

1.项目在文件系统中目录结构的对比:

下面是真正包含cpp,h文件的vs2005项目在文件系统中的目录结构


下面是由cmake生成出来的vs2005项目在文件系统中的目录结构(包含的是由源文件编译好的obj文件):


2.用vs2005打开项目之后的对比:

下面是我由源码重新构建(包括freeglut,glui这两个框架类库,使用的源码而非lib,dll文件)的box2d项目:


下面是由cmake构建出来的项目

(看着好像cpp文件就在项目文件夹中,实际上如上所述,这里所陈列的仅仅是如同快捷方式版的物件):


当然,这也仅仅只是我的个人意见,在大牛们看来,一份源码供多种IDE共同使用,这样很好!!

但是在我这个小菜菜看来,任何脱离我掌控的东西所带给我的都是迷惘,我必须要搞清楚其间的真相

这就是我对cmake所生成项目的看法~

有一天,我会试着去深入了解cmake所带来的好处,但是这个离现在应该还有蛮长一段时间~

3.Box2D压缩包解压后的目录层级结构:


CMakeGui由Box2D源码生成VS2005项目的配置


分享到:
评论

相关推荐

    cmake 构建多文件多目录项目教程

    cmake 常用的环境变量,cmake 多文件多目录的学习的简易例子,cmake 学习的基础知识, cmake 常用的Linux代码目录构建方式

    CMake构建OpenGL项目

    利用CMake来构建依赖glfw、glew、glm以及opengl核心库等库的OpenGL项目

    CMake实战.pdf

    cmkae使用方法介绍

    在Linux下使用CMake构建应用程序.pdf

    在 linux 下使用 CMake 构建应用程序 级别:初级 王程明 (wangchengming.jlu@gmail.com), 硕士研究生, 吉林大学计算机科学与技术学院 2009 年 2 月 05 日 本文介绍了一个跨平台的自动化构建系统 CMake 在 ...

    课程设计项目-基于Arduino+CMake构建物流机器人项目代码+文档说明

    课程设计项目-基于Arduino+CMake构建物流机器人项目代码+文档说明 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,...

    C++通过CMake构建QT 5.12的工程模板

    这是在ubuntu16.04系统下,用C++通过cmake构建qt5.12的工程模板。 自动根据.ui文件生成.h和cpp文件,利用qtcreator修改.ui文件后,无需其他设置,直接make可生成修改后的界面。 使用方法一:按照普通的cmake工程...

    在linux下使用CMake构建应用程序-王程明2009.pdf

    在linux下使用CMake构建应用程序。共享给大家,希望能够共同学习,进步。 在linux下使用CMake构建应用程序。共享给大家,希望能够共同学习,进步。 在linux下使用CMake构建应用程序。共享给大家,希望能够共同学习...

    go_cmake:使用 cmake 构建一个 go 项目

    go_cmake 假设您是一家商店。 继续断言您想将用于一两个项目。 Go 有一个经过深思熟虑的构建系统。 可以让它与 CMake 一起玩吗? 这是一个尝试。 指示 在顶级文件中,包含 : cmake_minimum_required(VERSION 3.0...

    cmake搭建vs和qt环境实例

    通过cmake搭建vs和qt开发环境实例代码, 主要是CMakeLists.txt

    tbb, Intel r5与CMake构建系统.zip

    tbb, Intel r5与CMake构建系统 Intel(R) 线程生成块 这是目前基于TBB更新,并且将不时更新以跟踪最新版本的git知识库。 唯一的修改是添加基于的构建系统。因为r5可以很容易地使用git子模块和简单的add_subdirectory ...

    使用vscode cmake插件构建的CMake工程模板

    使用vscode cmake插件构建的CMake工程模板

    cmake新版构建工具

    CMake是一个跨平台的开源构建工具,用于管理和构建软件项目。它使用简单的配置文件来描述项目的构建过程,并生成适用于不同平台和编译器的构建脚本。CMake的主要特点包括: 跨平台支持:CMake可以在多个操作系统上...

    cmake实践 修订版 pdf

    在原版的基础上,修正了若干小错误,并添加了简单的目录。

    cmake构建msvc工程示例

    cmake构建sln及工程文件的简单示例。附原始工程文件和cmakelist.txt。示例中配置工程包含头文件源文件资源文件,及编译选项的方法。示例中只配置了release x64版本。未对复杂目录结构进行说明,有兴趣可参考官方文档...

    windows vscode jsoncpp cmake c++ 构建项目

    windows vscode jsoncpp cmake c++ 构建项目

    C/C++ 项目构建 CMake 构建工程使用小结 CMake 常用函数介绍

    大型的C/C++项目经常包含较多的文件,文件目录可能较为复杂,或者需要生成一些动态或静态库方便其他项目使用,我们尽量简化代码,使用满足一般项目构建的函数,展示CMake用于项目构建所需流程及操作。

    cmake_vs2015_x64_libevent

    环境:Cmake,libevent 内容:Cmake选择vs2015_x64平台,创建libevent项目

    (cmake最全的书)cmake.pdf

    cmake大全,详细介绍了cmake的安装、配置、使用;可谓是不可多得好书,网上很多只介绍了一部分,这本书从基础到高级,都有介绍

    使用CMake构建跨平台应用程序-王敏2009.pdf

    使用CMake构建跨平台应用程序,论文,讲解的相对细致,共享给大家。比看Ken Martin,Bill Hoffman编著的英文版《Mastering CMake 》要快些。

    使用CMake和VS2008(VS2010)查看Opencv源代码.doc

    使用CMake和VS2008(VS2010)查看Opencv源代码

Global site tag (gtag.js) - Google Analytics