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

来源:互联网 发布:人工智能机器人哪里买 编辑:程序博客网 时间:2024/06/05 18:47

[置顶]用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 TimesDetails  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的示例:
view plain
  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秒!
view plain
  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更新
最新配置方法总结:http://topic.csdn.net/u/20110625/22/fcba3ecb-83db-4147-9e7c-b398001a2543.html

原创粉丝点击