Code::Blocks
1) Windows上安装与编译
1.1) 安装C::B
已有MinGW的下载codeblocks-?.?-setup.exe
即可,还没有的推荐直接下载codeblocks-?.?mingw-setup.exe
。
1.2) 配置MinGW
添加环境变量:
Path += %MinGW%\bin;%MinGW%\mingw32\bin;
MinGW之后编译Code::Blocks要用。
At the present time, Code::Blocks only compiles successfully with the MinGW compiler (or any other gcc for that matter).
1.3) 编译wxWidgets
svn: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1
编译详见参考2,过程会比较久。可以直接下载预编译好的,在这儿。
For Windows, we also provide the pre-compiled wxWidgets, ...
自己编译的话,就直接上wxWidgets3.0,参考5.1。
1.4) 编译Code::Blocks
svn: svn://svn.code.sf.net/p/codeblocks/code/trunk
假设:
D:\codeblocks # Code::Blocks源码目录
D:\wxMSW-2.8.12 # 预编译wxWidgets解压目录
- 打开Code::Blocks,然后"File > Open...: D:\codeblocks\src\CodeBlocks.cbp"。
- 在弹出"Global Variable Editor"内(可由"Settings > Global variables..."打开):
- Current Set: default, Current Variable: wx: Built-in fields > base: D:\wxMSW-2.8.12
- Current Set: default, Current Variable: cb_release_type: Built-in fields > base: -o2
- 设置MinGW编译,"Settings > Compiler...":
- Selected compiler: GNU GCC Compiler > Toolchain executables: [MinGW]\bin
- 工具栏 > Build Target: Compiler,然后Build。(Error: cannot find -lcodeblocks|-ldepslib)
- Build All吧,-lcodeblocks(Target sdk)往上依赖很多。
- 需要zip.exe,列在了tools page。下载并加到Path。(Execution of zip ... failed.)
- 如果要显示SVN修订号,则需要svn.exe,这儿下载。否则为0。
注意:3视情况,456不用依步骤,7随意。
然后:
- 拷贝"D:\wxMSW-2.8.12\lib\gcc_dll\wxmsw28u_gcc_cb.dll"到"D:\codeblocks\src\devel"目录。
- 运行"D:\codeblocks\src\update.bat",目录"D:\codeblocks\src\output"下就是你的发行版了。
- 运行"D:\codeblocks\src\output\codeblocks.exe"时,由于单例,记得关闭开着的C::B。
可以卸载原先安装的C::B,用"output"下的迭代编译自身。
1.5) 参考
- Retrieve source code from SVN
- Installing Code::Blocks from source on Windows
- windows 环境下编译 Code::Blocks
2) 基本配置
Settings
-> Editor...
-> General settings
-> Editor settings
-> Font > Choose
-> F = YaHei Consolas Hybrid # 等宽字体
-> TAB options
-> TAB size in spaces = 4 # TAB为4个空格
-> End-of-line options
-> End-of-line mode = AUTO # 自动。
# 想选UNIX换行符LF,但现在换行符都由版本控制系统根据平台自动做转换了。
-> Other options
-> Highlight line under caret # 高亮光标所在行
-> Other settings
-> Encoding
-> Use encoding when opening files = UTF-8 # 打开文件默认编码
-> Use this encoding: As default encoding # 默认编码
-> Other options
-> Show spaces in editor = Always # 总显示空格
-> Margins and caret
-> Right margin
-> Right margin hint = Visible line # 右边界线可见
Edit
-> File Encoding # 选择文件编码
新建Console application,由于Windows下Command Prompt不支持UTF-8,如果输出中文会是乱码。用的GCC编译器的话,可以设置-fexec-charset=GBK,即执行时字符集为GBK。更多选项。
Settings
-> Compiler...
-> Selected compiler = GNU GCC Compiler
-> Compiler settings
-> Other options: -fexec-charset=GBK
需要Rebuild后再Run。
3) 进行调试
3.1) Hello World
- 与"-fexec-charset=GBK"一样的步骤,添加"-std=c++11"以使用新特性。
- File > New > Project... > Console application,依步骤建立个Hello World工程。
- main.cpp稍改复杂些,以试单步调试,如下:
main.cpp
#include <iostream>
#include <string>
#include <vector>
template<typename T>
std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec)
{
for (auto& el : vec)
{
os << el << ' ';
}
return os;
}
int main()
{
std::vector<std::string> words = {
"Hello", "from", "GCC", __VERSION__, "!"
};
std::cout << words << std::endl;
}
3.2) 进行Debug
- Settings > Debugger... > GDB/CDB Debugger > Default > Executable path,设Debugger程序。
- 在第8行"for (auto& el : vec)"打断点,然后Debug运行即可。
- Debug时,Debugger > Debugging windows或工具栏,可添加Debug窗口。Layout会被记录。
3.3) 参考
4) 常用快捷
Editor
功能 | 快捷键 |
---|---|
复制当前行 | Ctrl-D |
删除选中行 | Ctrl-L |
删除光标所在行 | Ctrl-Shift-L |
与上行交换 | Ctrl-T |
到上一段落 | Ctrl-[ |
到下一段落 | Ctrl-] |
撤销/Undo | Ctrl-Z |
恢复/Redo | Ctrl-Shift-Z |
切换头文件与源文件 | F11 |
注释 | Ctrl-Shift-C |
取消注释 | Ctrl-Shift-X |
自动完成 | Ctrl-J |
切换书签 | Ctrl-B |
到上个书签 | Alt-PgUp |
到下个书签 | Alt-PgDown |
Search
功能 | 快捷键 |
---|---|
查找 | Ctrl-F |
查找下个 | F3 |
查找上个 | Shift-F3 |
在文件中查找 | Ctrl-Shift-F |
替换 | Ctrl-R |
在文件中替换 | Ctrl-Shift-R |
到指定行 | Ctrl-G |
到下个被改变的行 | Ctrl-F3 |
到上个被改变的行 | Ctrl-Shift-F3 |
到指定文件 | Alt-G |
到指定函数 | Ctrl-Shift-G |
到上个函数 | Ctrl-PgUp |
到下个函数 | Ctrl-PgDown |
到声明处 | Ctrl-Shift-. |
到实现处 | Ctrl-. |
打开include文件 | Ctrl-Alt-. # 冲突,见5.1 |
到匹配括号 | Ctrl-Shift-B |
View
功能 | 快捷键 |
---|---|
显示/隐藏信息板 | F2 |
显示/隐藏管理板 | Shift-F2 |
上移工程 | Ctrl-Shift-Up |
下移工程 | Ctrl-Shift-Down |
激活上个项目 | Alt-F5 |
激活下个项目 | Alt-F6 |
Build
功能 | 快捷键 |
---|---|
Build | Ctrl-F9 |
编译当前文件 | Ctrl-Shift-F9 |
Run | Ctrl-F10 |
Build and Run | F9 |
Rebuild | Ctrl-F11 |
Debug
功能 | 快捷键 |
---|---|
切换断点 | F5 |
调试/继续 | F8 |
运行到光标处 | F4 |
单步下行代码 | F7 |
单步进入子函数 | Shift-F7 |
单步跳出子函数 | Ctrl-F7 |
单步下条指令 | Alt-F7 |
单步进入子指令 | Shift-Alt-F7 |
参考
5) 插件
5.1) keybinder(Keyboard Shortcuts)
location: D:\codeblocks\src\plugins\contrib\keybinder
修改快捷的插件,但只看到了wx3.0工程版本==。因而,还是要准备下wxWidgets3.0。
注:plugins分为3类,contrib下是社区贡献的非常有价值的插件,所以整合到了SVN。见参考1。
5.1.1) MinGW编译wxWidgets3.0
- wxWidgets3.0 svn: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_3_0_0-rc2/
- 假设源码目录为"D:\WX_3_0_0-rc2"。则到"D:\WX_3_0_0-rc2\build\msw"目录。
2.1 修改config.gcc,防止连接时内存不够用。
CFLAGS ?= -fno-keep-inline-dllexport
CXXFLAGS ?= -fno-keep-inline-dllexport
2.2 然后,如下编译wxWidgets3.0:
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1
编译详看参考3,4。
5.1.2) 编译Code::Blocks
同1.4,不过:
- 打开"CodeBlocks_wx30.cbp"(注意还有其他区分),而不是"CodeBlocks.cbp"。
- "Global Variable Editor"时,wx base设为"D:\WX_3_0_0-rc2",而不是"D:\wxMSW-2.8.12"。
继而:
- 拷贝"D:\WX_3_0_0-rc2\lib\gcc_dll\wxmsw30u_gcc_custom.dll"到"D:\codeblocks\src\devel30"目录。
- 运行"D:\codeblocks\src\update30.bat",目录"D:\codeblocks\src\output30"下就是你的发行版了。
5.1.3) 编译keybinder
打开"D:\codeblocks\src\plugins\contrib\keybinder\keybinder_wx30.cbp"(注意还有其他区分),Build即可。
然后重新"update30.bat",重新打开C::B。在Settings > Editor...下多了Keyboard shortcuts,然后重定义吧。
把"Search > Open include file"改为"Ctrl-Alt-.",其与"Goto declaration"冲突。(r9741)
5.2) 参考
- Code::Blocks Plugins
- Creating a simple "Hello World" plugin
- Compile_wxWidgets_in_Unicode_mode
- Compiling wxWidgets with MinGW
- r9741 compile error with wx3.0 on Windows
6) 其他参考
Linux上安装与编译,参考:CentOS安装Code::Blocks
来源:oschina
链接:https://my.oschina.net/u/438371/blog/209087