2011-09-15 70 views
0

免責聲明:AM C#開發人員試圖瞭解一些C++基礎包括DLL的在VC++(VS2010)項目輸出

已經創建了具有鏈接器根據鏈接的DLL文件的.lib命令行項目>輸入>額外的依賴關係,也有在C/C++> General> Additional Include Directories下指定的頭文件的位置。編譯並編譯好,並在Debug/Release目錄中構建.exe。

問題是我還期望項目依賴於的.dll文件(就像在.NET項目中添加引用時一樣) - 但事實並非如此。啓動.exe時,它會抱怨它無法找到該DLL。足夠公平,但爲什麼VC++沒有把DLL放在那裏,如果它知道它是必需的?

是否有一個「最佳實踐」,以確保依賴的DLL文件在輸出目錄中,而不是在那裏手動複製它們?我有一個需要使用一些第三方庫的項目,我希望IDE能夠幫助我管理它們......

非常感謝您提供的任何指導!

回答

1

如果您創建包含exe和dll的解決方案,則所有輸出文件都將在$(SolutionDir)Debug或Release子目錄中創建,並且exe會成功運行。否則,你有下列選項之一:

  1. 複製的Dll中後期生成步驟目錄它可用於裝載(通常是.exe文件的目錄)

  2. 添加DLL目錄到PATH。