2013-04-09 65 views
1

當項目運行我的Visual Studio C++通過VS2010應用程序的調試版本只> PROJECTNAME生成的exe運行良好。然而,當我生成一個發佈版本,並轉到創建EXE我得到以下錯誤的文件夾:調試版運行,但版本提供0xc000007b - 缺少dll?

The application was unable to start correctly (0xc000007b). Click Ok to close the application 

該文件的文件夾中只有我,而項目使用各種Boost庫的exe文件。 難道它給人因爲缺少升壓的DLL的此消息?有沒有辦法讓編譯器粘貼exe文件夾中的所有必需的dll。

有什麼辦法來啓動從VS2010的發佈版本就像我們的調試版本在調試>>啓動新實例

回答

1

我討厭當這種情況發生。這可能是因爲它錯過了bloost DLL:解決這個問題的最簡單方法是將該文件夾添加到Path環境變量中。可悲的是,我們沒有足夠的信息來確認這是問題所在。常見的其他問題包括:你鏈接到這是一組不同的架構/使用不同的運行時庫,你缺少其他第三方的dll,該.LIB您在連接使用的文件庫指向不同版本的代碼比你指向的DLL ...列表繼續。

抄本在運行時動態鏈接庫,你可以使用自定義生成事件做到這一點[http://msdn.microsoft.com/en-us/library/e85wte0k%28v=vs.80%29.aspx] 。只要寫一個批處理腳本,複製的DLL作爲「後生成事件」,你應該是好去,但我首先建議的路徑方式。

+1

反正是有檢查哪些DLL文件由一個exe要求? – MistyD 2013-04-09 17:46:45

+1

@MistyD - 用於depends.exe – user93353 2013-04-09 17:47:56

+0

@MistyD,[Depends中(http://www.dependencywalker.com/)是一個很好的工具。 – IdeaHat 2013-04-09 17:48:13