Windows下基于Eclipse CDT的C/C++开发
安装和配置
安装Eclipse CDT
- 到Eclipse CDT官网下载:http://www.eclipse.org/cdt/并安装
- Eclipse的相关配置可以参考:Eclipse 4.3.2开发环境搭建
安装工具链
下面的工具链可以根据工作环境进行选择性的安装。
MinGW
- 安装MinGW,下载地址:http://sourceforge.net/projects/mingw/files/
- 安装MSYS,到http://sourceforge.net/projects/mingw/files/MSYS/下载 mingw-get-setup.exe,然后双击安装,选择安装目录为%MINGW_HOME%,勾选MSYS base,进行安装
- 将%MINGW_HOME%\bin添加到PATH环境变量,以便Eclipse CDT识别此工具链
MinGW-w64
- 安装MinGW-w64,下载地址:http://mingw-w64.org/doku.php
- 复制%MINGW_W64%\x86_64-w64-mingw32-gcc.exe(对于32位版本则是i686-w64-mingw32-gcc.exe)为mingw32-gcc.exe,便于Eclipse识别工具链
- 安装MSYS,下载地址:SourceForge
- 将%MINGW_W64%\mingw32\bin目录加入到PATH环境变量,以便Eclipse CDT识别此工具链
注意,Eclipse不能区分MinGW和MinGW-w64。因此,如果机器上同时安装这两套工具链,只应该设置其中常用的到环境变量PATH中。当需要使用另外一套工具链时,设置Eclipse项目属性 - C/C++ Build - Environment,添加环境变量MINGW_HOME,并点选“Replace native environment with specified one”
Cygwin
- 安装Cygwin:http://cygwin.com/setup-x86.exe,选择一个安装目录,例如(D:\CPP\tools\Cygwin\,以下称%CYGWIN_HOME%)
- 在Select Packages步骤下,选择Devel中的:autoconf、automake、binutils、gdb、gcc-core、gcc-g++、libtool、make,以及wget,下一步进行安装,其它需要的工具或者库,可以随时使用此安装程序安装
- 将 %CYGWIN_HOME%\bin、%CYGWIN_HOME%\usr\local\bin添加到PATH环境变量,以便Eclipse CDT识别此工具链
- (可选步骤)为了后续安装软件包方便,可安装apt-cyg:
123wget http://apt-cyg.googlecode.com/svn/trunk/apt-cygchmod +x apt-cygmv apt-cyg /usr/local/bin/
LLVM
本节假设已经安装了MinGW工具链+MSYS,并在其上搭建LLVM工具链,步骤如下:
- 安装Eclipse对LLVM工具链的支持:添加Update Site:http://petrituononen.com/llvm4eclipsecdt/update 并安装
- 进入MSYS终端,执行以下脚本,以构建LLVM:
123456789101112#签出LLVM源码cd /srcsvn co http://llvm.org/svn/llvm-project/llvm/trunk llvmcd /src/llvm/toolssvn co http://llvm.org/svn/llvm-project/cfe/trunk clangcd /src/llvm/projectssvn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt#配置和构建cd /src/llvm./configure --prefix=/mingw32 --enable-optimized --disable-assertionsmakemake install
MSVC
- 安装Microsoft Visual Studio
- Eclipse - Help - Install New Software,选择Eclipse CDT的Update Site,下一步中,在Optional中选择 C/C++ Visual C++ Support,进行安装
创建Eclipse C/C++工程
通过Eclipse - File - New - C/C++ Project即可创建C或者C++的工程,创建时需要选择工具链,某些工具链的需要额外的设置,具体如下:
LLVM
- C/C++ General - Path and Symbols
Includes - GNU C++
Debug %MinGW_HOME%\include
%MinGW_HOME%\lib\gcc\mingw32\4.8.1\include
%MinGW_HOME%\lib\gcc\mingw32\4.8.1\include\c++
%MinGW_HOME%\lib\gcc\mingw32\4.8.1\include\c++\mingw32Symbols - GNU C++
Debug Release __MSVCRT__=1 __MSVCRT__=1 Libraries - GNU C++
Debug Release stdc++ stdc++ Library Paths- GNU C++
Debug Release %MinGW_HOME%\lib\gcc\mingw32\4.8.1 %MinGW_HOME%\lib\gcc\mingw32\4.8.1 - C/C++ Build - Settings
Tool Settings - LLVM C++ Linker:Command改为clang - 如果同时安装了Cygwin,可能需要把%Cygwin%下在环境变量PATH中条目移除;可能需要把MSYS相关的条目从PATH中移除
常见问题
使用GCC时如何创建Windows窗体应用程序
设置链接标记,在Eclipse下:Properties - C/C++ Build -Settings - MinGW C++ Linker - Misc - Linker flags,添加 -mwindows ,即可提示链接器创建的是窗口应用,额外添加 -mconsole 则可同时获得一个控制台窗口。
如何为应用程序添加资源文件
- Properties - C/C++ Build -Settings - Build Steps - Pre-build steps,添加调用windres的脚本,例子可以参考《基于Eclipse CDT的wxWidgets开发环境搭建》
- 把上面编译好的*.o文件添加到Properties - C/C++ Build -Settings - MinGW C++ Linker - Misc - Other objects里
Leave a Reply