因为用codelite功能 没有这个全,部分功能还收费,而且集成程度高,没有codeblocks灵活,找了很长时间也不知道怎么查出buildlog,更不用说修改编译脚本了。。。
在我的九牛二虎的努力之下,我总算把这个ide以及完全支持isoc++11的环境做好了。
不用devcpp不是因为别的,只因为是用delphi写的,根本不支持code completion。
而使用mingw64是为了完美支持isoc++11标准,mingw32是不支持的,是一个已知的bug(to_string不能使用),4.8.0以上版本的mingw64完美支持,所以只好配置这个64位的了。。。
本文只介绍如何配置其32位版本,因为64位基本不用配置这么麻烦,codeblocks本身是没有预支持codeblocks的。。。
本文以4.8.1 版本的mingw64为例,进行配置。
以下介绍如何配置,copy一个GCC的配置,然后向search directories下,分别添加
1.compiler需要的include头文件
由于我是配置好了之后才写的此文,所以我就不那样做了(在codeblocks中设置全局环境变量之后再在compiler之中使用其相对路径即可,具体可参见codeblocks帮助)。
具体一共是4个目录:
H:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
H:\Dev-Cpp\MinGW64\include
H:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\4.8.1\include
H:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\4.8.1\include\c++
比较有趣的是下面的那两个目录在windows下正常是不能显示的
2.linker下面添加32位需要的lib文件,以我的为例:
H:\Dev-Cpp\MinGW64\lib32
H:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32
PS:由于我目前还没有使用GUI编程,所以没有设置resource compiler依然可以正常运行
3.这步是非常关键的!
在other settings中点击advanced options会有警告,ok即可。
1)这时第一个选项卡中的compile single file to object file此项,默认是这样的:
$compiler $options $includes -c $file -o $object
这时你只需要在后面添加一个参数:-m32,就变成这样的:
$compiler $options $includes -c $file -o $object -m32
2)将此下拉列表拉出,选中 linkobject files to executable此项,默认是这样的:
$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs
同第一步一样,还是在后面加上参数: -m32,变成:
$linker $libdirs -o $exe_output $link_objects $link_resobjects $link_options $libs -m32
这样就配置好了。
另外:auto encoding,可以保证不显示乱码。
太好了,可以让codeblocks 里面显示asm折叠啦!!!
editor里面的语法加亮-》MASM assembly -》keywords-》第八个和第九个,就可以自定义折叠和展开的字符。
我定义成proc和endp了
没有评论:
发表评论