【環境】
windows7 x64,CodeBlocks16.01,wxWidgets3.0.2
【步驟】
一、下載所需的文件:
1、codeblocks官網:http://www.codeblocks.org 我下載的版本是codeblocks 16.01;
2、wxWidgets官網:http://www.wxwidgets.org/,去頁面https://github.com/wxWidgets/wxWidgets/releases/tag/v3.0.2下載已編譯好的庫和頭文件。
注:已編譯好的庫涵蓋的lib更多,另如果自己編譯release和debug兩個版本編譯得一個多小時,而且編譯出來的lib還不全。
共三個文件:
wxMSW-3.0.2_gcc481TDM_ReleaseDLL.7z
wxMSW-3.0.2_gcc481TDM_Dev.7z
wxWidgets-3.0.2_headers.7z
注:版本的選擇,這里選擇的32位。
二、解壓及安裝
1、安裝codeblocks,安裝后的目錄:D:\Program Files (x86)\CodeBlocks-16.01
2、新建wxWidgets目錄,將以上三個文件解壓至此目錄。
注:wxMSW-3.0.2_gcc481TDM_ReleaseDLL.7z和wxMSW-3.0.2_gcc481TDM_Dev.7z解壓合並目錄,改文件夾名gcc481TDM_dll為gcc_dll;
最終目錄形式為:D:\wxWidgets\include和D:\wxWidgets\lib\gcc_dll。
目錄不要有中文及空格。
三、codeblocks配置
1、打開codeblocks;
2、Settings->Global Variable
3、Settings->Compiler->Linker Settings
添加D:\wxWidgets\lib\gcc_dll目錄下所有的lib文件(.a文件)
四、新建工程
1、File->New->Project...
選擇wxWidgets project->Go
2、
3、
注意選擇對應的版本。
4、
項目的名稱及路徑
5、
也可不填,直接next
6、
7、
選擇wxWidgets的解壓根目錄
8、
9、
在配置選項頁中應該勾選”Use wxWidgets DLL"和"Enable unicode",
不要勾選"wxWidgets is built as a monolithic library",
原因是查找的lib文件夾不一樣,前者查詢gcc_dll,后者查詢gcc_lib,會導致lib找不到。
10、
按需要選擇相應的類庫加到工程里,可暫時什么不選,后期手動添加也可。
Finish
11、
得到工程,按F9編譯運行,出錯,如下圖:
具體Error文本信息如下:
||=== Build: Debug in wxWidgetsTestPro1 (compiler: GNU GCC Compiler) ===| D:\Program Files (x86)\CodeBlocks-16.01\MinGW\lib\gcc\mingw32\4.9.2\include\c++\bits\c++0x_warning.h|32|error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.| D:\wxWidgets\include\wx\strvararg.h|350|error: 'is_enum' in namespace 'std' does not name a template type| D:\wxWidgets\include\wx\strvararg.h|354|error: 'is_enum' was not declared in this scope| D:\wxWidgets\include\wx\strvararg.h|354|error: template argument 1 is invalid| ||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
解決方法:
項目,右鍵->Build Options->Compiler settings->Compiler Flags列表中,選擇選擇c++0x支持項,如下圖
再次編譯運行,成功。