【问题标题】:Basic compilation with MinGw standard 2011使用 MinGw 标准 2011 进行基本编译
【发布时间】:2014-06-05 18:06:46
【问题描述】:
在我的程序编译过程中出现意外错误。
(我必须使用标准2011到std::regex。)
在我的 MinGw cmd 中,我转到我的程序所在的文件夹,然后写:
g++ -Wall -c -std=c++0x main.cpp
这里一切正常,但是当我写完之后:
g++ -Wall -o -std=c++0x main.exe main.o
它告诉我:
g++.exe: 错误: main.exe: 没有这样的文件或目录
为什么?
【问题讨论】:
标签:
c++
c++11
compiler-errors
mingw
【解决方案1】:
因为您以错误的顺序编写开关。 -o 要求目标文件名在其后。
在这里,您告诉 GCC 将 main.exe 和 main.o 链接到可执行文件 -std=c++0x,而 main.exe 甚至还不存在。
g++ -Wall -o -std=c++0x main.exe main.o
# ^^^^^^^^^^^^^ ????????
相反,告诉它在 C++0x 模式下将 main.o 链接到可执行文件 main.exe:
g++ -Wall -std=c++0x -o main.exe main.o
# ^^^^^^^^^^^