【发布时间】:2013-08-07 06:49:01
【问题描述】:
我在 msdn 中看到许多页面解释如何使用 msbuild 从命令行构建 C++ 项目。但是是否可以使用 msbuild 从另一个 C++ 项目的代码中构建 C++ 项目?
更具体地说:在 C++ 解决方案中,我有 2 个项目(exe、dll)。是否可以通过 msbuild 在运行时从 exe 项目构建 dll 项目,然后加载 dll 并调用 dll 的函数之一?
我需要这个,因为我需要在运行时更改 dll 项目的代码、构建它并在运行时调用它的函数。
我们将不胜感激。
【问题讨论】:
-
“运行时”是什么意思?以及如何/在哪里更改 dll 代码,以及如何在哪里调用它?
-
要更改 dll 代码,我的意思是在 dll 项目中的类中添加方法签名和实现。在运行时,我的意思是在 exe 运行期间。 exe 是一个 MFC 应用程序,它要求用户提供要测试的源文件,其中包含一个 C++ 函数。为了测试这个函数,我将它复制到我的 dll 项目类中的一个文件中,并将它的签名添加到类头中。然后我从我的 dll 项目中的另一个函数添加对该函数的调用。然后我需要调用它来测试用户代码的行为。所以我需要在运行时构建 dll。
-
好的,如果我理解正确的话,您想从 MFC executable 中构建 dll 项目,而不是从 MFC project 中构建 dll 项目?只需像在命令行上一样使用正确的参数启动 msbuild 进程,对吗?
-
是的。我想从我的 MFC 可执行文件中构建 dll 项目。 dll的项目与exe项目在同一个解决方案中,dll构建后会被exe加载。
标签: visual-c++ compilation msbuild projects-and-solutions