我得到了一個巨大的Microsoft Visual C++ 2003項目,該項目生成一個可執行文件(.exe),其中項目本身取決於多個DLL。我注意到,即使代碼設法編譯,當它運行時它會查找它依賴的DLL(例如我的程序稱爲abc,它依賴的DLL稱爲def.dll),即使添加了路徑包含在項目設置中,它會抱怨說除非將包含def.dll的文件夾添加到%PATH%變量,否則找不到DLL。Microsoft Visual C++ - 編譯一個單獨的DLL,無需依賴關係
因此,最終產品不是一個exe,而是一個exe文件,其中包含大量DLL。
是否有可能將所有內容編譯爲一個.exe文件,以便我可以將這個可執行文件與我一起運行,並且可以在我擁有的每臺PC上運行?該項目本身很大,所以我不打算改變每一個.h和.cpp文件,但如果在Visual C++中有一個快速的設置更改,我認爲這將是很好的。我知道這個.exe可能會大10倍,編譯它可能需要幾個小時,但我認爲可移植性在這裏非常重要。
謝謝!
PS:不知道爲什麼人們投票下來這篇文章...我不能再問StackOverflow的合法問題嗎?我知道這個問題對你們中的一些人來說可能聽起來微不足道,但我只是爲了說明而簡化了這個問題。
將所有DLL放在與可執行文件相同的目錄中,並完成作業。 –
@DavidHeffernan除了DLLs在不同的文件夾中屬於不同的依賴程序,爲了說明起見,我簡化了這個問題 – AZhu
仍然,在可執行目錄中放置副本是可接受的解決方案 –