我正在Visual Studio 2012中开发一个C ++项目,该项目使用驱动程序代码与开放式DMX盒(ENTTEC DMX USB PRO)连接。到目前为止,我一直在编写代码并编译为EXE,因此我可以使用main()
来运行单元测试。
我希望将其移植到以便我将设备接口代码编译为.DLL,然后是包含C ++代码的单独源文件,以编译链接到DLL的EXE并调用函数进行测试。
基本上,当我去调试时,有没有办法设置Visual Studio 2012生成.DLL和.exe调用.DLL并自动运行.exe一步?我是Visual Studio的新手,发现它很混乱。
答案 0 :(得分:1)
是。在您的解决方案中设置两个项目:一个用于您的主代码(生成DLL),另一个用于您的单元测试所在的可执行文件。然后查看项目依赖项(在VS2010上的项目菜单下,不确定2012),使EXE依赖于DLL(这将确保EXE在必要时重建/重新链接)。
在解决方案资源管理器中右键单击EXE项目,然后选择“属性”。在那里你可以设置includes / linker来获取你的header / lib文件,如果有必要的话(如果你明确地使用LoadLibrary或者某些东西可能没有必要,但我猜你没有这样做。)
现在,在构建事件下的EXE的项目设置中,添加运行测试的后期构建事件。请注意,如果您的EXE从main()返回0以外的值,VS可以将其报告为构建中的错误。