2017-03-11 56 views
0

我在試圖使用std :: string時遇到了巨大的困難。該程序編譯絕對好,但是當我運行該程序時,我收到此錯誤:error程序入口點_ZNSt7_cxx1112basic_stringlcSt11char_traitslcESalcEEC1Ev不能位於動態鏈接庫中

我已經找遍了谷歌,並沒有找到關於如何解決這個問題的事情。我也試着寫我的代碼,看是否會告訴我任何東西。

std::string yourName; 
std::cout << "What is your name?"; 
std::cin >> yourName; 
std::cout << "Hello, " << yourName << std::endl; 

儘管重寫,我仍然得到同樣的確切的錯誤,我不是忘記包括了iostream和字符串的頭文件。

我正在使用GCC編譯器,我的編譯代碼是g ++ -std = C++ 14 test.cpp -o test.exe。我也試過使用編譯代碼g ++ test.cpp -o test.exe。這並沒有解決這個錯誤。

我在堆棧溢出之前問過這個問題,但我沒有得到一個清晰和可以理解的答案,很可能是由於我是一個完全初學者編程的事實。這就是說,有人請給我一個答案,可能是什麼原因導致這個問題,以及如何解決它在純英文

+2

程序未加載正確的DLL,在運行時。爲什麼會發生,這是你需要弄清楚自己的事情。當前在stackoverflow.com上登錄的每個人中,只有一個人知道你的計算機上安裝了哪些DLL,或者哪裏(當然會是你)。該錯誤是因爲程序與一個版本的C++運行時DLL鏈接,但最終嘗試在運行時加載不同的DLL。這回答了這個錯誤意味着什麼的問題。你必須自己弄清楚爲什麼。 –

+0

非常感謝您的回答! – McGrizz

+0

你有沒有'#include '? –

回答

1

我從此鏈接下載了GCC:Source Forge並重新安裝了GCC。我的問題已成功解決。

+0

從鏈接安裝後,您是否將「yourinfohere」MinGW/bin添加到路徑中? –

1

您可以使用

g++ <file> -static-libstdc++ -static-libgcc 

我有同樣的問題,但它爲我工作

相關問題