1

我正在 Visual Studio 2012 中开发一个 C++ 项目,该项目使用驱动程序代码与打开的 DMX 盒(ENTTEC DMX USB PRO)接口。到目前为止,我一直在编写代码并编译为 EXE,以便我可以main()用来运行单元测试。

我想把它移植过来,以便我拥有编译成 .DLL 的设备接口代码,然后是一个单独的源文件,其中包含 C++ 代码来编译链接到 DLL 并调用函数来运行测试的 EXE .

本质上,当我去调试时,有没有办法设置 Visual Studio 2012 来生成一个 .DLL 和一个 .exe 调用 .DLL 并一步自动运行 .exe?我是 Visual Studio 的新手,发现它很混乱。

4

1 回答 1

1

是的。在您的解决方案中设置两个项目:一个用于您的主要代码(生成 DLL),另一个用于您的可执行文件,您的单元测试所在的位置。然后查看项目依赖项(在 VS2010 的项目菜单下,不确定 2012 年)以使 EXE 依赖于 DLL(这将确保 EXE 在必要时重建/重新链接)。

在解决方案资源管理器中右键单击 EXE 项目并选择属性。如有必要,您可以在那里设置包含/链接器以访问您的头文件/ lib 文件(如果您明确使用 LoadLibrary 或其他东西,则可能没有必要,但我猜您没有这样做)。

现在在构建事件下的 EXE 项目设置中,添加一个运行测试的构建后事件。请注意,如果您的 EXE 从 main() 返回 0 以外的值,VS 可以将其报告为构建中的错误。

于 2013-02-19T02:06:48.330 回答