2011-01-13 33 views
1

我一直在使用CMake一段時間來生成VS 2008解決方案來構建一個程序,它的安裝程序和它的打包程序(以及幾個測試程序)。爲了運行,該程序需要安裝項目放入bin目錄中的幾個dll,以及生成的可執行文件。在VS 2008中,如果我想調試創建的程序,我構建INSTALL項目,然後單擊Debug-> Start Debugging。第一次在生成解決方案後執行此操作時,會顯示一個對話框,我可以從中瀏覽到bin文件夾,然後查看所需的可執行文件。如何調試由Visual Studio 2010創建的已安裝可執行文件(但不在預期位置)?

但是,在Visual Studio 2010下,單擊調試 - >開始調試後,我沒有得到對話框,而是得到消息,說它找不到ALL_BUILD程序(它不存在也不應該存在)。我可以將啓動項目更改爲有問題的可執行文件(或者右鍵單擊它並選擇調試),但是然後會從錯誤的路徑加載可執行文件,因此無法找到dll。我知道我可以將dll添加到我的系統路徑或將dll複製到最初創建可執行文件的相同目錄中,但這些都不是理想的解決方案(出於測試和可移植性原因),而且這些步驟不是需要在VS 2008.

這是完全相同的CMakeLists.txt文件的情況下,和完全相同的源代碼。唯一的區別是CMake在第一種情況下使用「Visual Studio 9 2008」生成器,在第二種情況下使用「Visual Studio 10」生成器。

可以使用Windows資源管理器從bin目錄運行生成的程序,但我無法調試它(例如,逐行通過問題區域)。

回答

2

您需要編輯啓動項目的調試屬性,以便命令行和工作目錄與您的安裝位置匹配。

+0

謝謝。事後看來,這似乎很明顯。不幸的是,我看到CMake無法自動設置這些值。 http://www.vtk.org/Wiki/CMake_FAQ#Can_CMake_set_the_Debugging.2FWorking_Directory_property_in_Visual_Studio_projects.3F – 2011-01-13 17:10:19

相關問題