[英]Missing dll's when compiling c++ programs using mingw compiler in cygwin
當我使用 mingw 編譯器在 cygwin 中編譯我的 c++ 程序時,生成的可執行文件無法運行,因為它們缺少以下 dll:
一個編譯命令的例子:
$ x86_64-w64-mingw32-g++ -Wall deque.cc -o deque
我也嘗試添加以下鏈接器選項:
-static -static-libgcc -static-libstdc++
但他們似乎也沒有幫助。
我查看了我的 dll:
C:\cygwin\lib\gcc\x86_64-w64-mingw32\5.4.0
但是在那里找不到dll。 我的電腦上可能沒有這些dll嗎? 如果是這樣,我從哪里得到它們?
我知道在 stackoverflow 上還有其他類似的問題,但是通過這些問題我找不到任何關於這個問題變體的可靠答案。
使用https://cygwin.com/packages/搜索cygwin軟件包的內容。
如https://cygwin.com/cgi-bin2/package-cat.cgi?file=x86_64%2Fmingw64-x86_64-gcc-g%2B%2B%2Fmingw64-x86_64-gcc-g%2B%2B-5.4報告.0-3&的grep =的libstdc%2B%2B-6.dll
USR / x86_64的-W64-的mingw32 / SYS-根/的mingw / bin中/的libstdc ++ - 6.dll
一樣
USR / x86_64的-W64-的mingw32 / SYS-根/的mingw / bin中/ libgcc_s_seh-1.DLL
USR / x86_64的-W64-的mingw32 / SYS-根/的mingw / bin中/ libwinpthread-1.DLL
我在編譯時遇到了同樣的問題。
我決定重新安裝 cygwin,我按照以下說明重新安裝 cygwin: https : //gist.github.com/patrickmoffitt/30684ec23fe82eabe0e3609cab2425b2 (在第 6 點中)使用包管理器,選擇要安裝的包.... 但就我而言,我還需要安裝:
make
gdb
https://www.jetbrains.com/help/clion/quick-tutorial-on-configuring-clion-on-windows.html#Cygwin
此時,當完成我的新安裝時,我在環境變量中添加了此路由:C:\\cygwin64\\usr\\x86_64-w64-mingw32\\sys-root\\mingw\\bin(此路由是 .dll 所在的位置)
這對我有用,希望這會有所幫助。
另一種解決方案是,復制所有必需的 .dll(形成我提到的路徑)並將它們粘貼到 .exe 所在的位置。 每次都這樣做有點煩。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.