鍍金池/ 問答/C  C++  C#/ mingw32-g++ 鏈接問題

mingw32-g++ 鏈接問題

mingw32-g++編譯測(cè)試exe不能直接在win7系統(tǒng)上。顯示依賴libgcc_s_dw2-1.dll和libstdc++-6.dll。這兩個(gè)dll什么作用,必須的嗎?為什么不能像vc++編譯器一樣生成win7平臺(tái)直接運(yùn)行的代碼?

回答
編輯回答
心癌

vc生成的程序能在Windows7上運(yùn)行也只是因?yàn)閣indows上大多裝了msvc的庫,
你在mingw的安裝目錄下找到這兩個(gè)DLL和可執(zhí)行文件一起拿到別的電腦上就可以用了。

2018年4月15日 23:10
編輯回答
女流氓

這兩個(gè)DLL庫分別是C標(biāo)準(zhǔn)庫和C++標(biāo)準(zhǔn)庫。如果你的函數(shù)完全不用C或C++的庫函數(shù)比如malloc或者std::list,只使用Win32 API,可以不要他們,當(dāng)然這基本是不可能的。
VC++編寫的程序也是需要類似的東西,比如VC++ 2012編寫的程序放進(jìn)干凈的Win7新系統(tǒng)里,也會(huì)提示缺少M(fèi)SVCR110.DLL,需要安裝對(duì)應(yīng)的Visual C++ 2012 Runtime包。
Qt的SDK也有經(jīng)過VC++編譯好的版本,下載的時(shí)候注意一下就能看到,推薦使用VC++編譯的,因?yàn)樵赪indows下性能更好。Qt Creator也可配置用VC++編譯器。

2018年1月25日 20:07