下载安装 MinGW-w64
- 在 MinGW-w64 官网下载
- 选 x86_x64, 选 posix , 选 seh 之后安装
- 在环境变量 path 下添加 安装目录\mingw64\bin
下载安装 code::blocks
- 在 Code::Blocks 官网下载 codeblocks-17.12-setup.exe 直接安装
- codeblocks -> Setting -> Debugger settings -> GDB/CDB debugger -> Create Config -> 填入gdb64 -> OK
- codeblocks -> Setting -> Compiler settings -> Global compiler settings -> Toolchain executables
在 Compiler’s installation directory 里填入 MinGW安装目录\bin
C compiler: x86_64-w64-mingw32-gcc.exe
C++ compiler: x86_64-w64-mingw32-g++.exe
Linker for dynamic libs: x86_64-w64-mingw32-g++.exe
Linker for static libs: x86_64-w64-mingw32-gcc-ar.exe
Debugger: GDB/CDB debugger : gdb64
下载安装编译 wxWidgets
-
下载 wxWidgets
-
将 wxWidgets-3.1.2.zip 解压到 E:\library\wxWidgets-3.1.2 目录下
-
运行 CMD 进入 E:\library\wxWidgets-3.1.2\build\msw 目录下
-
输入命令 mingw32-make -f makefile.gcc clean 清除
mingw32-make.exe -f makefile.gcc clean USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=0 -
可以根据需求编译不同的情况输入以下命令:
mingw32-make -f makefile.gcc USE_XRC=1 BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport
mingw32-make -f makefile.gcc USE_XRC=1 BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport- USE_XRC=1
是否使用XRC库。wxWidgets官网上有这个选项,而codeblocks官网上没有。以防万一加上 - SHARED 链接类型
- 动态链接 (SHARED=1) 把所需的 DLL 和程序一同发布。程序体积小
- 静态链接 (SHARED=0) 只需发布程序本身。程序体积大
- MONOLITHIC
- 编译生成一个DLL (MONOLITHIC=1),开发简单,发布时带一个DLL。
执行命令后会在lib下生成 gcc_lib 文件夹。 - 编译生成多个DLL (MONOLITHIC=0),链接有效率,避免链接整个库
执行命令后会在lib下生成 gcc_dll 文件夹。
- 编译生成一个DLL (MONOLITHIC=1),开发简单,发布时带一个DLL。
- UNICODE 使用 _(“string”) 和 _T(“string”) 宏来判断硬编码的字符串编译时是正确的类型
- 使用 UNICODE (UNICODE=1) (宽字符串)
执行命令后会在输出文件夹名字后加u。例:gcc_mswu - 使用 ANSI (UNICODE=0)
- 使用 UNICODE (UNICODE=1) (宽字符串)
- BUILD
- 调试版本 (BUILD=debug)
执行命令后会在输出文件夹名字后加d。例:gcc_mswud - 发布版本 (BUILD=release)
- 调试版本 (BUILD=debug)
- CXXFLAGS=-fno-keep-inline-dllexport
解决对编译超大单个lib文件遇到内存超大(memory exhausted)的告警而停止编译的问题
- USE_XRC=1
-
启动 codeblocks,点击 Setting -> Global Variable。点击 Current variable 下的 wx,添加如下内容
base: E:\library\wxWidgets-3.1.2
include: E:\library\wxWidgets-3.1.2\include
lib: ibrary\wxWidgets-3.1.2\lib -
在 codeblocks 点击 Setting -> Compiler settings。在 Linker settings 下 点击 Add
添加 E:\library\wxWidgets-3.1.2\lib\gcc_lib 下的所有 .a 库文件
添加 mingw64\lib\libuxtheme.a 和 liboleacc.a 库文件 -
在 codeblocks 新建 wxWidgets 项目