知识大全 把其他C/C++编译器集成到VC2005中

Posted 工具

篇首语:一个不想蹚过小河的人,自然不想远涉重洋。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 把其他C/C++编译器集成到VC2005中相关的知识,希望对你有一定的参考价值。

把其他C/C++编译器集成到VC2005中  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在Visual C++ 中 如何调用其它编译器编译cpp文件呢? 换句话说 如何把其它编译器集成到VC 的IDE中呢?

  象IIC这样的编译器安装之后会自动集成进来 要集成其他编译器那还得自己动手 下面介绍一种简单的方法

  另外 在VC 的IDE中是不能编译单个 cpp文件的 除非把它放在工程中 但是 我们可以通过调用外部工具实现编译单文件

  把cl exe添加到外部工具的方法这里就不介绍了 大家参照下面添加gcc的方法 再查阅cl exe的参数说明 就能试着添加进来

  下面以调用G++为例说明如何编译cpp文件 如果要编译单个 c文件 使用gcc即可 方法同理

  首先获取Windows版的 GNU C++ Compiler (g++) 你可以通过安装 Cygwin 或者 MinGW 来获得 g++ for Windows

  以MinGW为例 我们可以下载Dev C++ Dev C++目前最新版为 安装 Dev C++的同时就安装了MinGW 其中包含了 G++

  假设 Dev C++ 安装在 D \\Dev Cpp 目录下

  下面我们在VC 的菜单点击 工具(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)

  下面切换到main函数所在文件 点击工具(Tools)菜单下的 GNU C++ Compiler 开始编译

  注意g++此时编译的指是纯C++程序 对于包含 int _tmain(int argc _TCHAR* argv[]) 这类VC特有的C++程序自然是无法通过编译的

  如果编译没有出错 对于早期版本的g++而言 Output window是没有任何输出的

  而对于较新版本的g++ 将输出类似以下的信息

  # cc plus

  # as

  # collect

  这是 time 报告的编译过程中每个子过程所占用的CPU时间

  当然 你还可以更改编译参数 使输出窗口输出其他编译信息

  我们还可以通过添加外部工具来实现运行g++生成的程序的功能 步骤如下

  在VC 的菜单点击 工具(Tools) > 外部工具(External Tools) > 添加(Add)

  分别填入

  标题(Title) Run as C++ Application

  命令(Command) %systemroot%\\system \\cmd exe

  参数(Arguments) /c $(ItemFileName) exe

  初始目录(Initial directory) $(ItemDir)

  不要钩选下面的 使用输出窗口 和 退出时关闭

  注意 cpp文件必须放在工程中 g++生成的程序才能被运行!

  另外 用MinGW的g++编译的程序不能在没有安装MinGW的Windows系统上运行 因为它依赖于MinGW库

  即便是通过VC 编译出的不带预编译头的Win 控制台应用程序 也就是用空环境 这样编译出来的可执行文件也不是放在哪台机子都能跑的

  下面讲讲如何设置快捷键

  点击菜单中的 工具 >自定义

  点击右下角的 键盘

  点击 按快捷键 下面的文本框

  按下 Shift + Ctrl + F 如果这个快捷键已经分配给了其他的命令 更换一个即可

  在 显示命令包含 中填入 工具 外部命令 再点击 分配 按钮

  点 确定 再点 关闭

  这样就给 GNU C++ Compiler 分配了快捷键 Shift + Ctrl + F

  注意刚才是在GNU C++ Compiler 位于 外部工具菜单的第 项的情况下 在 显示命令包含 中填入 工具 外部命令 !

  同理 我们可以给 Run as C++ Application 分配一个快捷键

  再讲讲如何分配一个工具条

  点击菜单中的 工具 >自定义 点击 工具栏 选项卡

  点击 新建

  在工具栏名称中填入 g++

  切换到 命令 选项卡

  点击 类别 中的 工具

  在右边的命令把 外部命令 拖动到刚才建立的g++工具条上

  先不要关闭 自定义 对话框

  下面单击g++工具条上的 GNU C++ Compiler 按钮

  再点击自定义 对话框 中的 修改选中的内容 按钮 设置工具条中按钮的名称和文字等属性

  Run as C++ Application 也可以通过这种方式放到g++工具条中

  通过这样的集成 为初学者学习纯C++提供了便利 我认为 对于标准C++的初学者而言 不能认为用VC编译通过就万事大吉了 用g++编译检查一次是必要的 现在我们只需要按一下快捷键 就知道了这份代码是否能通过其它编译器 例如g++ 的编译 不用再切换到命令行来重新编译程序

  但是若想把g++的输出结果输出到错误列表 或者是用VC的IDE来调试g++生成的程序 应该是绝无可能了 其实也没什么必要 个人认为

  感觉g++的错误提示比VC要智能得多 这有利于我们快速地找到问题的根源

  如果感兴趣 你还可以把make exe等添加到VC 的外部工具中 以实现编译整个工程的目标 当然 在工程中少不了makefile

cha138/Article/program/net/201311/13623

相关参考

知识大全 最常见的20种VC++编译错误信息

最常见的20种VC++编译错误信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  fataler

知识大全 VC++2005 console 程序错误

VC++2005console程序错误  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天在用V

知识大全 椭圆窗体的实现

  椭圆窗体的实现        .生成椭圆形图形界面并在上面写斜体带颜色的子    在VC集成编译

知识大全 VC#2005快速入门之使用do语句

VC#2005快速入门之使用do语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  while和

知识大全 。有c++经验2年,现在做游戏开发。书的内容不要太基础也别太深奥

帮忙推荐一本direct3d的书。有c++经验2年,现在做游戏开发。书的内容不要太基础也别太深奥!装完SDK之后,需要把SDK的inc目录加入VC编译器的设定里面。VC2008的设定是:工具选单-&g

知识大全 怎么样把man手册的内容保存到某个文件里面

  当需要把man页面打印到打印机或者在其它的编译器里面查看man页面只需要使用以下的命令  manmand|colb>outputtxt  如要把ls命令的man页输出到lstxt文件只需要 

知识大全 使用 SQL Server 2005中的 CLR 集成(2)

使用SQLServer2005中的CLR集成(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用 SQL Server 2005中的 CLR 集成(3)

使用SQLServer2005中的CLR集成(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 使用 SQL Server 2005中的 CLR 集成(1)

使用SQLServer2005中的CLR集成(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 在VC++应用程序中读取文本数据

在VC++应用程序中读取文本数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们通常把数据存