在Linux环境下,就不同了。Visual Studio不用想了,地球人都知道是不可能的事。好用的只有Anjuta,KDevelop和Code::Blocks。本人偏爱Gnome,所以 KDevelop排除。Anjuta很久很久以前用过,很好用,但是搭配的是GTK。要跨平台开发,非Code::Blocks+wxWidgets莫属。
安装步骤:
1.先把编译环境,C库、C++库和Boost库装好 ,如下:
sudo apt-get install libc6 libc6-dbg libc6-dev glibc-doc libstdc++6 libstdc++6-4.2-dbg libstdc++6-4.2-dev libstdc++6-4.2-doc libboost*
/*注:我出现这个错误
E: 无法找到软件包 libstdc++6-4.2-dbg libstdc++6-4.2-dev 但是不影响后来操作,不知为何?*/
注:再执行一下如下命令把上面的旧库替换掉
sudo apt-get install build-essential
2.最新版的Code::Blocks包括一个调试组件Valgrind,用来探测内存泄露的 :
sudo apt-get install valgrind
3. 安装gdb :
sudo apt-get install gdb
4.添加软件更新源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo gedit /etc/apt/sources.list
# 添加如下两个更新地址
deb http://apt.tt-solutions.com/ubuntu/ edgy main
deb http://apt.tt-solutions.com/ubuntu/ feisty main
sudo apt-get update
sudo apt-get dist-upgrade
然后存盘,退出gedit。
5.安装公钥 :
wget -q http://apt.wxwidgets.org/key.asc -O- | sudo apt-key add -
wget -q http://lgp203.free.fr/public.key -O- | sudo apt-key add -
从tt-solutions.com添加key
wget http://www.tt-solutions.com/vz/key.asc
sudo apt-key add key.asc
6.安装Code::Blocks最新版和wxWidgets :(注:安装前到www.wxWidgets.org上看一下最新版本)
sudo apt-get install libwxbase2.8-0 libwxbase2.8-dbg libwxbase2.8-dev libwxgtk2.8-0 libwxgtk2.8-dbg libwxgtk2.8-dev wx2.8-doc wx2.8-examples wx2.8-headers wx2.8-i18n wx-common
sudo apt-get install codeblocks codeblocks-contrib libcodeblocks0 libwxsmithlib0
开始使用Code::Blocks了,应用程序->编程->Code::Blocks IDE。
Code::Blocks和wxWidgets整合非常好,几乎不用做任何额外的配置。
使用说明:
1.可以自己写Makefile:
在Project的属性中指定使用custom makefile即可。和visual studio一样,可以定义很多编译和link过程中的参数,包括定义编译参数等,这些都可以在Project的build option或compiler/debugger settings中找到。
对于一些使用autoconf/automake的项目来说,我想只有新建一个project,然后将源码导入才行。不过,现在已经有人开始做autoconf/automake的code blocks的plugin了。
2.可以定义快捷键:
遗憾的是,只能给菜单中出现的项目定义快捷键,对于比如editor中右键弹出的context menu中的项目无法定义快捷键。
Settings -> Editor -> Keybord shortcut里面可以定义快捷键。
注:[Edit]->[Complete code]的快捷键Ctrl - Space(与输入法冲突)要改成Ctrl - k
(不限为Ctrl -k,只要不冲突,任用你喜欢的键)。
management, log, message panel等都不能autoshow/autohide。要么关闭,要么显式。也不能dock成一条,吸附在屏幕两边。对于这个问题, 我使用的办法是:给display/hide这些pane定义快捷键,使用这些快捷键来显式或隐藏这些pane,效果也不错。
3.定制F1帮助系统
在Settings -> Environment -> Help files 中新建一个entry,名为man,接着的对话框选no,然后手动在下面的path中填写: man:/usr/share/man
将default (使用F1快捷键)勾上。这样就可以使用manpage了。在editor中,将光标停在想要查询的内容上面,按F1,就会弹出一个panel,里面就有 查询内容的man手册,非常的方便。比如printf,按F1,弹出的panel中就显示printf的man手册。
在 [终端] 下执行下行语句,安装GNU C标准
sudo apt-get install manpages-dev // C API
sudo apt-get install manpages-posix // posix function
sudo apt-get install manpages-posix-dev // posix develop documents
sudo apt-get install glibc-doc // C API
sudo apt-get install stl-manual // STL
sudo apt-get install libstdc++6-4.1-doc // 注:我写这篇文章时,安4.1这个man std::string可以
sudo apt-get install libstdc++6-4.3-doc // C++ API,建议先安这个试,再试4.1
sudo apt-get install manpages-zh // 中文文档
修改man默认的语言
sudo gedit /etc/manpath.config
把里面所有含 /usr/share/man 的行拷贝添加到其下一行并 改成 /usr/share/man/zh_CN
中文在上,英文在下,如下所示:
(注:以MANDB_MAP开头的就不要改了不然会有如下错误提示的
man: 无法解析 /usr/share/man/zh_CN/man3/std::vector.3.gz: 没有该文件或目录 )
MANDATORY_MANPATH /usr/share/man/zh_CN
MANPATH_MAP /bin /usr/share/man/zh_CN
MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man/zh_CN
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /sbin /usr/share/man/zh_CN
MANPATH_MAP /sbin /usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man/zh_CN
MANPATH_MAP /usr/sbin /usr/share/man
MANPATH_MAP /usr/games /usr/share/man/zh_CN
MANPATH_MAP /usr/games /usr/share/man
保存后退出
4.自动补全功能设置
每个新建工程都要在菜单[Project] -> [Properties...] -> [C/C++ parser options]中添入头文件所在目录,这样自动补全与信息提示功能才可正常工作,如下是标准库头文件的目录:
/usr/include
/usr/include/bits
/usr/include/c++/4.3/tr1
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.3/include
/usr/lib/gcc/i486-linux-gnu/4.3.3/include
下面这个是socket的文件路径
/usr/include/sys
/usr/include/netinet
/usr/include/arpa
添上后不是立即起效,过一段时间后你就发现功能突然出现!