把其他C/C++编译器集成到VC2005中
来源:互联网 发布:win10系统服务优化 编辑:程序博客网 时间:2024/05/17 09:32
转自:http://www.webasp.net/article/29/28100.htm -- 作者:理论上存在 |
在Visual C++ 2005中,如何调用其它编译器编译cpp文件呢? 换句话说,如何把其它编译器集成到VC2005的IDE中呢? 象ICC这样的编译器安装之后会自动集成进来,要集成其他编译器那还得自己动手。下面介绍一种简单、浅层的“集成”方法。 你也许注意到了,在VC2005的IDE中是不能编译单个.cpp文件的,除非把它放在工程中。但是,我们可以通过调用外部工具实现编译单文件。 下面以调用G++为例说明如何编译单个.cpp文件。如果要编译单个.c文件,使用GCC即可,方法同理。 也许你现在还不知道G++。G++是GCC中的一员。GCC的含义是GNU编译器集合(GNU Compiler Collection),包括C、C++、Objective-C、Fortran、Java、Ada连同与这些语言相配的库等。GCC被誉为 “世界上最重要的软件”。许多免费的编译器都是GCC的移植版 — MinGW(Minimalist GNU for Windows)中携带的编译器就是如此。 以MinGW为例,我们可以下载Dev C++, Dev C++目前最新版为4.9.9.2。安装 Dev C++的同时就安装了MinGW,其中包含了 G++ 3.4.2. 假设 Dev C++ 安装在 D:/Dev-Cpp 目录下。 下面我们在VC2005的菜单点击 “工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。 分别填入: 标题(Title): GNU C++ Compiler 命令(Command): D:/Dev-Cpp/bin/g++.exe 参数(Arguments): -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time 初始目录(Initial directory): $(ItemDir) 再钩选下面的"使用输出窗口(Use Output window)". 说明:如果你已经把D:/Dev-Cpp/bin/目录添加到系统环境变量中,那么 Command指定为g++.exe即可。Cygwin同理。 这些参数只是一个参考。你可以查阅VC编译器的宏设置你需要的参数。 干脆顺带补充一下Digital Mars C++编译器的参考参数设置: 标题(Title): Digital Mars 命令(Command): C:/dm/bin/dmc.exe 参数(Arguments): $(ItemFileName) $(ItemFileName)$(ItemExt) 初始目录(Initial directory): $(ItemDir)
注意g++此时编译的指是纯C++程序,对于包含 int _tmain(int argc, _TCHAR* argv[]) 这类VC特有的C++程序自然是无法通过编译的。 如果编译没有出错,对于早期版本的g++而言,Output window是没有任何输出的。 而对于较新版本的g++,将输出类似以下的信息: # cc1plus 0.67 0.22 这是 -time 报告的编译过程中每个子过程所占用的CPU时间。 当然,你还可以更改编译参数,使输出窗口输出其他编译信息。
在VC2005的菜单点击“工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。 分别填入: 标题(Title): Run as C++ Application 命令(Command): %systemroot%/system32/cmd.exe 参数(Arguments): /c $(ItemFileName).exe 初始目录(Initial directory): $(ItemDir) 不要钩选下面的“使用输出窗口”和“退出时关闭”。 注意:cpp文件必须放在工程中,g++生成的程序才能被运行! 用MinGW的g++编译出的程序可以在没有安装MinGW的Windows系统上运行! 但是在Cygwin/gcc下编译出来的程序,在windows执行必须依赖cygwin1.dll。 通过VC2005创建不带预编译头的Win32控制台应用程序空环境,这样编译出来的可执行文件也不是放在哪台机子都能跑的。 但是常规空环境可以做到。
点击菜单中的"工具->自定义", 点击右下角的 "键盘", 点击 "按快捷键" 下面的文本框, 按下 Shift + Ctrl + F7, 如果这个快捷键已经分配给了其他的命令,更换一个即可。 在"显示命令包含" 中填入“工具.外部命令6", 再点击 “分配” 按钮. 点"确定",再点“关闭”. 这样就给 GNU C++ Compiler 分配了快捷键 Shift + Ctrl + F7 注意刚才是在GNU C++ Compiler 位于 外部工具菜单的第6项的情况下,在"显示命令包含" 中填入“工具.外部命令6"! 同理,我们可以给 Run as C++ Application 分配一个快捷键。
点击菜单中的"工具->自定义", 点击 "工具栏" 选项卡. 点击“新建”, 在工具栏名称中填入“g++”, 切换到 "命令" 选项卡. 点击 "类别" 中的 "工具", 在右边的命令把 “外部命令6” 拖动到刚才建立的g++工具条上. 先不要关闭 "自定义" 对话框. 下面单击g++工具条上的 GNU C++ Compiler 按钮 再点击自定义 对话框 中的 “修改选中的内容”按钮,设置工具条中按钮的名称和文字等属性。 Run as C++ Application 也可以通过这种方式放到g++工具条中。 但是若想把g++的输出结果输出到错误列表,或者是用VC的IDE来调试g++生成的程序,应该是绝无可能了。 g++的错误提示比VC要智能得多,这有利于我们快速地找到问题的根源。 如果感兴趣,你还可以把make.exe等添加到VC2005的外部工具中,以实现编译整个工程的目标。当然,在工程中少不了makefile. GDB.exe也是可以集成进来的,不过不要忘了参数(Arguments)应为 -g -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time,其中参数 -g 生成调试信息。GNU 调试器可利用该信息。 通过这样的集成,为初学者在Windows环境下学习标准C++提供了便利。 初学者最好使用和标准一致的编译器和易于上手的集成开发环境。前者能够避免编译器不和ISO标准近似的情况,以及不能使用标准库的情况。而后者可以激发初学者的学习兴趣。
|
- [原创]把其他C/C++编译器集成到VC2005中
- 把其他C/C++编译器集成到VC2005中
- 把其他C/C++编译器集成到VC2005中
- 把其他C/C++编译器集成到VC2005中
- 把其他C/C++编译器集成到VC2005中
- 把其他C/C++编译器集成到VC2005中
- 将g++编译器集成到VC2005中
- 将g++编译器集成到VC2005中
- 【小C出品】把QQ集成到eclipse中
- vc2005 调用c#dll
- C语言中怎么把空格保存到字符串中
- 如何把Win7在C盘的用户文件夹转移到其他分区
- 如何把Win7在C盘的用户文件夹转移到其他分区
- 如何把Win7在C盘的用户文件夹转移到其他分区
- C-Free编译器[C/C++集成开发环境]
- 如何用C语言产生10000个不重复的随机整数?并且把它写入到一个文本文件中作为其他函数测试用的数据。
- C回调函数集成到C++中
- object-c把数据写入到文件中
- SQL存储过程分页算法研究(支持千万级)
- 2009老百姓最关心的十大问题
- 强驴分享北京最好玩儿的隐秘旅游地
- 开始技术学习了……
- 不去不知道:去了美国才知道美国比中国差多了!
- 把其他C/C++编译器集成到VC2005中
- 程序员5大发展方向
- 年底啦 - 准备回家了,写下来做程序员 4 年多的总结
- struts(5)
- Discuz! 6.1~7.0 升级后request缓存文件名不兼容
- XP安装软件时提示“不能访问Windows Installer服务……”
- 很多朋友在安装MSI格式的文件包时,经常会遇到windows installer出错的情况,有如下几种现象:
- MFC API小结(持续更新)
- 三年前出的老机——我的S5600和我