由于想转到gcc/g++的平台上做开发,于是尝试了eclipse+cdt+mingw开发,测试良久后终于成功编译,过程大致如下:
1.首先当然是下载eclipse+cdt,现在cdt已经出到5.0,c++重构功能非常丰富
2. 光有cdt,没有编译器是不行的。下载mingw+MSYS,安装之后要注意设置系统环境变量。你可以写一个简单的c++ hello world测试,编译的时候可能遇到找不到cc1plus.exe的提示,只需搜索mingw的目录就可以找到其位置(例如MinGW/libexec /gcc/mingw32/3.4.5),然后在控制面板的系统设置中设置环境变量,为PATH变量增加这个目录就可以了。通常eclipse都会自动设 置编译器的调用命令为gcc/g++,所以不需要特别再额外设置。
3.新建一个C++工程,要编译Windows+DirectX程序, 需要为工程进行设置,这个如果在VC/VS做过DirectX开发的话应该不会陌生。进入工程的设置框,进入C++ Build->Settings。可以看到右边有非常多的东西设置,我们逐一列出。
4.GCC C++ Compiler
(1)Preprocessor,为Defined Symbols增加三项:WIN32 _WINDOWS _DEBUG
(2)Directories,增加你的DirectX SDK include文件夹目录,例如:"E:/Microsoft DirectX SDK/Include"
(3)Miscellaneous,设置flag:-c -fmessage-length=0 -mthreads -fexceptions -fident -mwindows
5.MingGW C++ Linker
(1)Libraries, 在Libraries增加需要的lib、dll、a文件,要注意不需要打后缀名,例如aaa.lib只需要打aaa即可,例子如下:mingw32 d3dx9d winmm d3d9;在Libraries增加DirectX SDK Lib目录,例如:"E:/Microsoft DirectX SDK/Lib/x86"
(2)Miscellaneous,设置Linker flags:-mwindows;设置OtherOptions:
--enable-auto-image-base --add-stdcall-alias
6.然后就是写代码,注意DirectX SDK例程中的所有Unicode相关内容都要去掉,例如L"xx"要变成"xx",LPWSTR改成LPSTR,wWinMain改成WinMain。 目前还没有找到Unicode如何设置才能正确编译(#define UNICODE之后会出现Link错误)。
7.最后当然是编译调试啦,这个就不用说了~
1.首先当然是下载eclipse+cdt,现在cdt已经出到5.0,c++重构功能非常丰富
2. 光有cdt,没有编译器是不行的。下载mingw+MSYS,安装之后要注意设置系统环境变量。你可以写一个简单的c++ hello world测试,编译的时候可能遇到找不到cc1plus.exe的提示,只需搜索mingw的目录就可以找到其位置(例如MinGW/libexec /gcc/mingw32/3.4.5),然后在控制面板的系统设置中设置环境变量,为PATH变量增加这个目录就可以了。通常eclipse都会自动设 置编译器的调用命令为gcc/g++,所以不需要特别再额外设置。
3.新建一个C++工程,要编译Windows+DirectX程序, 需要为工程进行设置,这个如果在VC/VS做过DirectX开发的话应该不会陌生。进入工程的设置框,进入C++ Build->Settings。可以看到右边有非常多的东西设置,我们逐一列出。
4.GCC C++ Compiler
(1)Preprocessor,为Defined Symbols增加三项:WIN32 _WINDOWS _DEBUG
(2)Directories,增加你的DirectX SDK include文件夹目录,例如:"E:/Microsoft DirectX SDK/Include"
(3)Miscellaneous,设置flag:-c -fmessage-length=0 -mthreads -fexceptions -fident -mwindows
5.MingGW C++ Linker
(1)Libraries, 在Libraries增加需要的lib、dll、a文件,要注意不需要打后缀名,例如aaa.lib只需要打aaa即可,例子如下:mingw32 d3dx9d winmm d3d9;在Libraries增加DirectX SDK Lib目录,例如:"E:/Microsoft DirectX SDK/Lib/x86"
(2)Miscellaneous,设置Linker flags:-mwindows;设置OtherOptions:
--enable-auto-image-base --add-stdcall-alias
6.然后就是写代码,注意DirectX SDK例程中的所有Unicode相关内容都要去掉,例如L"xx"要变成"xx",LPWSTR改成LPSTR,wWinMain改成WinMain。 目前还没有找到Unicode如何设置才能正确编译(#define UNICODE之后会出现Link错误)。
7.最后当然是编译调试啦,这个就不用说了~