[問題] VS2012 + OpenCV 如何使執行檔包含DLL?

看板C_and_CPP (C/C++)作者 (800IM)時間11年前 (2014/06/29 14:07), 11年前編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/1
如標題 我現在寫的程式因為用到OpenCV 拿到別台電腦用時都要連帶拿DLL過去 還有 msvcp110.dll msvcr110.dll 這些不屬於OpenCV的 有沒有辦法一個執行檔就乾淨解決? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.122.53.17 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1404022073.A.991.html

06/29 14:15, , 1F
不確定是否正確 專案屬性裡MFC的使用「使用MFC靜態的函式庫」
06/29 14:15, 1F

06/29 16:44, , 2F
樓上正解
06/29 16:44, 2F
謝謝 但是這對OpenCV的DLL沒用耶, 還有辦法嗎? ※ 編輯: deo2000 (140.122.53.17), 06/29/2014 18:46:07

06/29 20:49, , 3F
沒lib檔嗎?
06/29 20:49, 3F
有! 這些OpenCV的DLL都有對應*.lib, 要怎麼用才能合併到exe勒? ※ 編輯: deo2000 (140.122.165.131), 06/29/2014 22:31:11

07/01 00:04, , 4F
複製到exe目錄下
07/01 00:04, 4F
我目前是把用到的DLL單獨copy出來和exe放一起,應該是一樣的方法吧? 我是希望連DLL都不要有,編譯時就包在exe裡面了 ※ 編輯: deo2000 (140.122.165.131), 07/01/2014 01:30:38

07/01 01:34, , 5F
那你應該要選 OpenCV 的靜態連結函式庫
07/01 01:34, 5F

07/01 01:34, , 6F
跟 dll 對應的 lib 裡面是單純載入呼叫 dll 的 stub 而已
07/01 01:34, 6F

07/01 01:35, , 7F
(同樣都是 lib, 跟 dll 對應的小很多, 靜態連結的會比較大)
07/01 01:35, 7F

07/01 01:36, , 8F
OpenCV 的預先編譯包裡有個目錄叫 staticlib 的就是這種
07/01 01:36, 8F
文章代碼(AID): #1JhwqvcH (C_and_CPP)
文章代碼(AID): #1JhwqvcH (C_and_CPP)