2011-01-13 34 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

相关问题