有没有办法告诉Visual Studio post build事件,整个构建的输出可执行文件将来自子项目?

时间:2014-08-21 14:47:44

标签: c++ visual-studio-2012 msbuild

我有一个应用程序,它使用我公司代码库中的公共库。该公共库具有一些依赖关系,这些依赖关系最终需要与使用它的应用程序位于同一目录中。

我的解决方案是这样的:

\My solution
    \Common Project
    \Processing Library
    \Gui Application

每个项目都设置为$(ProjectDir)\$(Configuration)

我在公共库中有一个post-build事件,它执行以下操作:

copy "$(Boost)\stage\lib\boost_chrono*.dll" "$(TargetDir)"

...根据the documentation(我读过它)应该把它放在当前主项目的输出目录中(即启动项目)?

也许我读错了但是出于某种原因,无论我尝试什么,它总是将这些库复制到Processing Library输出目录中。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我已经完成了一些实验,虽然这似乎不太可能是正确的做事方式,但以下方法确实可行;如果手动编辑解决方案文件并将所需的项目Target放在项目列表的顶部,那就是TargetDir似乎引用的项目。

以前我的处理项目位于列表的顶部,但是在更改了将我的GUI项目放在顶部的顺序之后,boost .dll最终会在我期待它们的位置。