用Eclipse CDT + CMake构建跨平台工程(VC/GCC)

[置顶]用Eclipse CDT + CMake构建跨平台工程(VC/GCC)

4206人阅读 评论(32) 收藏 举报

 

标题的作用是想告诉搜索引擎,Eclipse CDT不但可以用于GCC,MinGW,也可以用于VC编译器。

这个文章是在这两天配置好了跨平台的CDT环境后的一个超级简短总结,有问题,就在这个文章后面留言吧,我如果会的话,就会回复的。

1. 不管是Windows平台,还是Linux平台,都只需要安装最基本的Eclipse+CDT环境:

Eclipse Classic 3.6.1, 170 MB
Downloaded 520,504 Times Details   Other Downloads
通过上面的Other Downloads去下载Platform Runtime Binary,50MB左右。在Linux下解压后,如果装了JRE,直接就是绿色版!
2. 通过Install New Software来安装CDT,去除一些你用不到的组件,可以提速。
3. 跨平台工程需要Makefile工程,强烈建议使用CMake来生成Makefile.参考: http://www.cmake.org/Wiki/CMake:Eclipse_UNIX_Tutorial
4. 通过一个构建变量${pmake}为不同的平台设置不同的make主程序,例如Windows下设置为nmake。
5. 开启Discovery选项,这样GCC/MinGW都可以在编译一次后,自动找到搜索头文件的路径。
6. 为Windows平台创建INCLUDE、LIB、PATH环境变量(在Eclipse中创建),并把他们加入到工程中。Linux下不需要。
7. 好好利用Make Target,功能强大,例如生成Makefile的命令:cmake -E chdir ${ProjDirPath}/build cmake -DCMAKE_BUILD_TYPE=Debug ..
8. 运行make的命令:cmake -E chdir ${ProjDirPath}/build ${pmake}
9. 支持WinDbg调试的命令:cmd ${windbg} ${ProjDirPath}/build/${ProjName},其中${windbg}要自己设置:/C "${eclipse_home}/build/share/windbg/windbg.exe"
10. 可以在Eclipse CDT中配置多个编译器,只要把MinGW的bin目录加入PATH环境变量即可,例如我的:${eclipse_home}/build/bin;${eclipse_home}/build/gcc/bin;
11. 快捷键选用VS风格,这样和WinDbg的风格也一样,比较顺手,尤其是调试的时候。
12. 把代码完成键的Alt+/改成Shift+Space,要顺手的多!
13. 给一个CMakeLists.txt的示例:
  1. project(demo_01)  
  2. cmake_minimum_required(VERSION 2.8)  
  3. if(UNIX OR MINGW)  
  4.     set(CMAKE_VERBOSE_MAKEFILE ON)  
  5. endif()  
  6. if(MSVC)  
  7.     set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")  
  8.     foreach(flag_var  
  9.         CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE  
  10.         CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)  
  11.         if(${flag_var} MATCHES "/MD")  
  12.             string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")  
  13.         endif()  
  14.     endforeach()  
  15. endif()  
  16. aux_source_directory(. SRC_LIST)  
  17. include_directories(..)  
  18. add_executable(demo_01 ${SRC_LIST})  

...省省吧,累了。
总结:
Eclipse CDT 7.0的功能比之前的CDT又强大了很多!在开源的IDE中,CDT的功能是最强大的!
洗洗睡了!

2011-02-16补充:
1. 如果要开启多核编译,VC编译器可以使用JOM: http://qt.gitorious.org/qt-labs/jom
2. 为了更好的编辑CMakeLists.txt,需要安装一个CMakeEd插件: http://cmakeed.sourceforge.net/
3. 如果使用我提取的VC10编译器时频繁出现mt.exe崩溃,则需要安装.NET框架2.0版,这里有绿色版下载: http://download.csdn.net/source/1737071
4. CDT对模板的解析功能强的让人惊叹!
5. 加入启动提速功能:修改eclipse目录下的eclipse.ini文件,增加如下内容,可提速2~5秒!
  1. -Xverify:none  
  2. -Xms512m  
  3. -Xmx512m  
  4. -XX:PermSize=128m  
  5. -XX:+UseParallelGC  
2011-02-17补充:
11. 快捷键选用VS风格,这样和WinDbg的风格也一样,比较顺手,尤其是调试的时候。
第11条今天被我否定了:因为如果选择了它,会丢失一些很有用的Default状态下才启用的快捷键,例如: Ctrl+Tab切换头文件和源文件,Ctrl+Shift+F格式化代码等。仔细想想,Eclipse能够这样设置,自然是有其道理,所以信任Eclipse,准备把快捷键的习惯也改成Eclipse风格!
另外,6.24正式发布的8.0版很给力啊: http://wiki.eclipse.org/CDT/User/NewIn80

2011-06-26更新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值