[問題] mingw32 找不到libgcc_s_dw2-1.dll

看板C_and_CPP (C/C++)作者 (lyle)時間15年前 (2010/11/19 17:42), 編輯推噓2(2014)
留言16則, 4人參與, 最新討論串1/1
IDE: Code::Blocks Compiler: mingw32-gcc 4.4.0 程式碼: #include<stdio.h> int main() { printf("enter a number\n"); fopen("a.txt","w"); return 0; } 問題: 我把編繹好的exe檔拿到另一台電腦上(也是windows) 結果不能執行 他說找不到libgcc_s_dw2-1.dll 請問是怎麼回事呢? 我沒有用到額外的library呀 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.237.166

11/19 17:44, , 1F
printf, fopen其實就算是其他的library了...XD
11/19 17:44, 1F

11/19 17:47, , 2F
所以編繹好的exe檔如果要拿到別電腦的話,要把那個dll檔一起
11/19 17:47, 2F

11/19 17:48, , 3F
帶嗎?
11/19 17:48, 3F

11/19 17:49, , 4F
那是一個方法,另一個方法是使用靜態連結(static link)
11/19 17:49, 4F
我以前都是在單機上寫完然後直接跑(都是作業) 從來沒有把*.out或*.exe拿到另外一台機器上跑 我以為只要compile完畢之後就可以直接用了.... ※ 編輯: wfgh 來自: 111.240.237.166 (11/19 17:53)

11/19 18:10, , 5F
那你也應該把原始碼拿到另一台主機上編譯成executable
11/19 18:10, 5F

11/19 18:11, , 6F
才行, 可攜性不是指執行檔可攜
11/19 18:11, 6F

11/19 18:12, , 7F
所以printf、fopen這些stdio的東西是在libgcc_s_dw2-1.dll??
11/19 18:12, 7F
有個疑問 請問link的時候 gcc怎麼知道要去哪裡link include進來的函式庫? 例如他怎麼知道去哪裡link stdio這個函式庫? ※ 編輯: wfgh 來自: 140.119.236.61 (11/19 22:18)

11/19 22:24, , 8F
推薦好書:《程式設計師的基本素養》
11/19 22:24, 8F

11/19 22:26, , 9F
XDD
11/19 22:26, 9F

11/19 22:32, , 10F
那是預先就設定好了,因為 C/C++ 標準函式庫,每個程式
11/19 22:32, 10F

11/19 22:32, , 11F
都要用。
11/19 22:32, 11F


11/19 22:36, , 13F
剛找到的,看了這個有比較懂link的部分了
11/19 22:36, 13F

11/19 22:38, , 14F
是「程式設計師的自我修養」嗎?
11/19 22:38, 14F

11/19 22:38, , 15F
喔喔 沒錯 我講錯了 XDD
11/19 22:38, 15F

11/19 22:39, , 16F
最近有借了這本書,但還沒看XD
11/19 22:39, 16F
文章代碼(AID): #1CvaPpiM (C_and_CPP)
文章代碼(AID): #1CvaPpiM (C_and_CPP)