我是靠谱客的博主 甜美信封,最近开发中收集的这篇文章主要介绍C++命令行编译工具:MinGW的g++安装、开发人员命令提示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

之前一直用Mac自带的g++对C++源文件进行命令行编译,这两天想转到windows平台上,发现命令行并不能直接用。因此,在这里记录一下简单的编译方法。

本文主要整理了一下两个方法:

1. 利用MinGW进行g++安装
2. 利用Visual Studio自带的开发工具

一、方法1

一开始参照这个链接里的方法进行配置,一切安装正常。

创建测试代码stl_map.cpp,如下所示。

#include <iostream>
#include <string>
#include <map>
using namespace std;
class MyCompare {
public:
bool operator()(const string &s1, const string &s2) const{
return s1.length() < s2.length();
}
};
int main(){
map<string, int, MyCompare> test;
test["Bob"] = 90;
test["Alice"] = 88;
test["Lily"] = 78;
for(map<string, int>::iterator iter = test.begin(); iter != test.end(); ++iter){
cout << iter->first << endl;
}
return 0;
}

当我编译下面的程序(g++ -std=c++11 stl_map.cpp)并运行生成的a.exe文件的时候,发现如下错误。

在这里插入图片描述

参考的网上相似的错误,认为是在调用链接库的时候,可能优先调用了其它路径下的同名lib。

因此,我首先把C:MinGWbin在用户环境变量的PATH的序列上升到第一位。重启终端编译,发现并无卵用。

这是因为,PATH变量的值是用户变量中的值与系统变量中的值的叠加,只不过系统环境变量对所有用户起作用,而用户环境变量只对当前用户起作用。那么很有可能是,系统环境变量里的PATH中某同名lib的优先级跑到C:MinGWbin前面去了。

所以,删去用户环境变量里PATH的C:MinGWbin,在系统环境变量PATH的值前插入“C:MinGWbin;”。重启终端编译并运行,成功,输出结果如下。

在这里插入图片描述

需要注意的是,因为这里我们把MinGWbin提前,所以之后我们用到其他同名lib的时候,不可避免地也会遇到这种状况。

二、方法2

方法2主要是按照微软官方文档,它有一个前提是系统为Windows10,并且已经安装了Visual Studio 2015及以上。满足上述前提,可进行如下操作对c++文件进行编译。

1. 打开“开发人员命令提示”。

打开方法参考这篇微软文档。一般来说,我们直接在“开始>应用程序”里就可以找到开发人员命令提示。不过也有意外,这时可以在计算机中手动查找这个文件,文件路径为“C:ProgramDataMicrosoftWindowsStart MenuProgramsVisual Studio 2017Visual Studio Tools”,如下所示。

在这里插入图片描述

如果觉得每次从这个路径打开麻烦的话,可以打开Visual Studio,进入“工具>外部工具”,操作如下。

在这里插入图片描述

  • 选择“添加”按钮,为新菜单项输入“标题”,例如 Command Prompt。
  • 在“命令”字段中,指定要启动的文件,例如 %comspec% 或 C:WindowsSystem32cmd.exe。
  • 在“参数”字段中,指定可在其中找到要使用的特定命令提示的位置,例如 /k “C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7ToolsVsDevCmd.bat”(此命令启动随 Visual Studio 2017 Enterprise 一起安装的开发人员命令提示)。 根据 Visual Studio 版本和安装位置更改此值。
  • 为“初始目录”字段选择一个值,例如“项目目录”。
  • 选择“确定” 按钮,系统便添加了新菜单项,我们就可以从“工具”菜单访问命令提示符,如下所示。

在这里插入图片描述

2. 创建新目录来保存程序

在“开发人员命令提示”窗口中,输入 cd 命令,以将目录更改为驱动器根目录。 输入 md examples 命令,以创建示例代码的目录。 然后输入 cd examples 命令,以使其成为当前工作目录。 这就是第一个程序运行的位置。

这个步骤可以省略。

3. 编译

在步骤2目录下或者任意目录下创建一个测试文件hello.cpp,内容如下:

#include <iostream> 
using namespace std;
void main() {
cout << "Hello, world, from Visual C++!" << endl;
}

在文件目录下,输入 cl /EHsc hello.cpp 来编译你的程序。编译器的输出如下所示:

Microsoft (R) C/C++ 优化编译器版本 19.00.23504 适用于 x86 版权所有 (C) Microsoft Corporation。
保留所有权利。 hello.cpp Microsoft (R) 增量链接器版本 14.00.23504.0 版权所有 (C) Microsoft Corporation。
保留所有权利。 /out:hello.exe hello.obj

4.运行

若要运行hello.exe程序,直接在命令提示出输入hello。

最后

以上就是甜美信封为你收集整理的C++命令行编译工具:MinGW的g++安装、开发人员命令提示的全部内容,希望文章能够帮你解决C++命令行编译工具:MinGW的g++安装、开发人员命令提示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部