簡體   English   中英

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

[英]MinGW C++ using vector exit value 127

我在C ++中使用vector時遇到問題。 我在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)

編輯:當然主要應該返回int - 修復並添加使用命名空間std;

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

問題是添加到PATH變量的MiKTeX的安裝。 所以Windows鏈接到不同版本的libstdc++-6.dll

最后我發現了兩個解決方案

  1. 使用-static-libstdc++以避免鏈接錯誤的DLL。

  2. libstdc++-6.dllMinGW\\bin復制到與編譯的EXE相同的文件夾中。 這將導致Windows始終鏈接DLL的正確版本。

雖然問題非常具體,但我希望它也有助於其他人。 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM