[問題] release的程式遺失dll檔

看板C_and_CPP (C/C++)作者 (真的嗎)時間10年前 (2015/06/17 21:13), 10年前編輯推噓2(2014)
留言16則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc2013 問題(Question): 目前在把一套A程式改成自動化程式,過程中有用到A程式的lib檔與包library的head檔 也有包到自己的程式裡,確定在自己的開發環境build code是沒問題後 把release的程式放在其他電腦上去跑,就出現出現遺失A程式的dll檔 (A程式有附lib與dll,不過我用了lib檔後就能使用它的api,就沒在用dll檔 若要用dll檔,請問該怎麼加入?) 後來把A程式裡所有的DLL檔丟進去後,就說我少了mfc120ud.dll檔... 去google後,把執行階段程式庫裡的設定從MT改成MD選項 但這樣設定程式build code會失敗 我認為應該是環境設定上的問題或是lib設定有問題 (lib設定是在連結器->輸入->其他相依性 加入,debug與release都有加) 不知道是哪邊出了問題呢?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.100.129 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1434546784.A.64B.html

06/17 22:35, , 1F
-md 要去查一下 有點忘了設定在哪
06/17 22:35, 1F

06/17 22:39, , 2F
mfc120u.dll是release 你的是release 連到debug的
06/17 22:39, 2F

06/17 22:41, , 3F
你的A程式的lib是debug版本的,要build release的
06/17 22:41, 3F

06/17 22:42, , 4F
既然有dll那表示你應該是build成dynamic link的吧
06/17 22:42, 4F

06/17 22:43, , 5F
執行的時候要和執行檔放一起..
06/17 22:43, 5F

06/17 22:49, , 6F
j大的意思是dll要在release設定且跟設定lib的方式一樣?
06/17 22:49, 6F

06/17 22:50, , 7F
你先釐清一下你的lib和dll怎麼build出來的
06/17 22:50, 7F
原本程式的DLL檔有約26個,DLL跟LIB檔都是跟A程式放在一起的 文件上說只要放LIB,就可以使用它的library API 我確定在自己的debug/release都可以用,只是拿到別的電腦就說我缺少DLL檔... ※ 編輯: ybelauren (36.224.100.129), 06/17/2015 22:55:01

06/17 22:52, , 8F
我不太懂你上面那句是什麼意思
06/17 22:52, 8F

06/17 22:57, , 9F
我的意思是不了解如何設定dll動態連結= =
06/17 22:57, 9F

06/17 23:46, , 10F
因為你"別的電腦"沒有debug環境啊..
06/17 23:46, 10F

06/17 23:49, , 11F
我不懂設定dll動態連結這句話的意思
06/17 23:49, 11F

06/17 23:50, , 12F
dll就是動態連結函式庫了 字面上的意思 你要設定什麼
06/17 23:50, 12F
我誤會了XD 我是有把所有DLL都放在release資料夾下,如前面所說 放完A程式所有DLL檔後,接著電腦說我缺少mfc120ud.dll ※ 編輯: ybelauren (36.224.100.129), 06/18/2015 00:00:16

06/18 00:01, , 13F
因為你的A程式去link到debug版的library了阿
06/18 00:01, 13F

06/18 00:02, , 14F
2F其實就已經說很清楚了
06/18 00:02, 14F

06/18 14:09, , 15F
A 程式要改成連結 release 版的 mfc
06/18 14:09, 15F

06/18 14:09, , 16F
然後目標電腦要裝 VC++ 可轉散發套件
06/18 14:09, 16F
文章代碼(AID): #1LWN9WPB (C_and_CPP)
文章代碼(AID): #1LWN9WPB (C_and_CPP)