在此先宣告,移植到其他計算機我並沒有嘗試,但是應該不會有很大問題,其實移植到其他計算機出現的最多問題就是找不動態庫(dll),解決方法有兩個:
第乙個,將需要的動態庫和.exe檔案放在一起就ok了。很多人會說,我怎麼知道需要哪些動態庫,其實只要你雙擊.exe檔案,如果缺少動態庫,會有提示的,我們只要根據提示,自己找到動態庫,並複製到.exe所在資料夾即可。
第二個,就是把需要動態庫路徑新增的環境變數中,建議還是第乙個吧,簡單快捷。
言歸正傳,說說我自己遇到的幾個大坑。
第乙個:把.exe單獨複製到另外乙個問價夾,雙擊無法執行。把所需的dll複製過來,一切ok!
第二個:也是大家最容易忽略的乙個和最不容易找到原因的乙個。
先說現象,把.exe和所需的dll放到乙個資料夾裡,雙擊還是無法執行,而且沒有提示缺少什麼動態庫,直接中斷。
原因:檢查程式原始碼,是否在原始碼中用到了相對路徑的地方,如果,你把.exe移植到其他地方,程式會按照相對路徑尋找所需的檔案,這當然是找不到了。
解決方法有兩個:
第乙個:把相對路徑轉換成絕對路徑,但是這樣限制非常大。如果你所需的檔案移動了位置,程式就找不這個檔案了。或者如果移植到其他計算機上,也無法找到這個檔案。因此,不建議使用這樣方法。
第二個:是利用帶參主函式,將所需檔案路徑當做乙個引數,傳遞給主函式,這樣就靈活很多。推薦使用這種方法。
移動表資料到別的檔案組
移動表資料到別的檔案組 2008 12 29 create proc sp movetable objectname sysname,newfilegroup sysname null as set nocount on declare objectid int select objectid ob...
c 實現嵌入 exe檔案到程式中
其實也不算是嵌入,只是單單的將乙個exe檔案或者任何乙個型別的檔案,通過16進製制來表示。然後這個16進製制的檔案再使用的時候先生成。然後程式呼叫。cpp view plain copy print?test.cpp 定義控制台應用程式的入口點。include stdafx.h include us...
C 將引用的dll嵌入到exe檔案中
通過網上查詢,將引用的dll,嵌入到exe專案中,通過編譯為單一的exe檔案。1.引用dll,將引用的dll設定為不複製 是否複製不影響使用,編譯完成後,只需要exe就可以了,旁邊的dll是否存在並不影響使用 2.將引用的dll嵌入到專案中。新建乙個專案資料夾,將引用的dll複製到此資料夾中,幷包含...