![](/img/trans.png)
[英]NetBeans C++ will BUILD but not RUN (exit value 127) when I use a “string” command in my code
[英]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
。
最后我發現了兩個解決方案
使用-static-libstdc++
以避免鏈接錯誤的DLL。
將libstdc++-6.dll
從MinGW\\bin
復制到與編譯的EXE相同的文件夾中。 這將導致Windows始終鏈接DLL的正確版本。
雖然問題非常具體,但我希望它也有助於其他人。 ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.