MinGW C++ 使用向量退出值 127

Posted

技术标签:

【中文标题】MinGW C++ 使用向量退出值 127【英文标题】:MinGW C++ using vector exit value 127 【发布时间】:2013-07-25 19:52:23 【问题描述】:

我在 C++ 中使用向量时遇到问题。我正在 Windows + NetBeans 上使用 MinGW。

以下代码:

#include <vector>
using namespace std;
int main(int argc, char** argv)
  vector<int> vec;
  return 0;

它编译时没有任何错误,但运行时总是失败,退出值为 -1.073.741.511 或退出值为 127(这意味着 ERROR_PROC_NOT_FOUND)。

直接启动 exe 会显示如下错误消息:

entrypoint '__gx_personality_v0' not fount in 'libstdc++-6.dll'.

我已经尝试过-lstdc++

#include <cstdlib>

那么问题出在哪里,我该如何解决呢?

Netbeans 输出:

"/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/Users/Josch/CppApplication_1'
"/C/MinGW/msys/1.0/bin/make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW1-Windows/cppapplication_1.exe
make.exe[2]: Entering directory `/c/Users/Josch/CppApplication_1'
mkdir -p build/Debug/MinGW1-Windows
rm -f build/Debug/MinGW1-Windows/main.o.d
g++    -c -g -MMD -MP -MF build/Debug/MinGW1-Windows/main.o.d -o build/Debug/MinGW1-Windows/main.o main.cpp
mkdir -p dist/Debug/MinGW1-Windows
g++     -o dist/Debug/MinGW1-Windows/cppapplication_1 build/Debug/MinGW1-Windows/main.o 
make.exe[2]: Leaving directory `/c/Users/Josch/CppApplication_1'
make.exe[1]: Leaving directory `/c/Users/Josch/CppApplication_1'

BUILD SUCCESSFUL (total time: 4s)

编辑:当然 main 应该返回 int - 修复它并使用命名空间 std 添加;

【问题讨论】:

&lt;cstdlib&gt;libstdc++ 混淆不清。 请显示你的命令行。 【参考方案1】:

好的,我找到了解决方案。

问题是添加到PATH 变量的MiKTeX 安装。所以 Windows 链接到了不同版本的libstdc++-6.dll

最后我找到了两个解决方案:

    使用-static-libstdc++ 编译以避免链接错误的DLL。

    libstdc++-6.dllMinGW\bin 复制到与已编译EXE 相同的文件夹中。这将导致 Windows 始终链接正确版本的 DLL。

虽然这个问题非常具体,但我希望它也对其他人有所帮助。 ;)

【讨论】:

谢谢!您如何确定“错误”的 libstdc++-6.dll 在哪里?我遇到了同样的错误,但我不确定是什么导致使用了错误版本的库(它不是 MiKTeX) 抱歉回复太晚了。您可以使用 Microsoft 的 Process Explorer (docs.microsoft.com/de-de/sysinternals/downloads/…) 查看进程加载了哪些 DLL。希望这仍然可以帮助您!

以上是关于MinGW C++ 使用向量退出值 127的主要内容,如果未能解决你的问题,请参考以下文章

为啥 C++ 中的以下结构声明会导致退出 127?

C++:向量值在退出 if 语句后重置

c++mingw STL安装

带有 MinGW GCC 的 Eclipse CDT 生成错误 127

用于向量中结构的 C++ 访问索引或使用引用而不是值

使用步骤 c++ 构建向量