我有一个用于 DLL 的可视 C++ 项目和一个安装项目。在安装程序中,我添加了我的项目的内容文件。
有没有办法根据您是编译调试还是发布来将文件添加为内容文件?如果我在调试下编译,我想包括 boost_date_time-vc100-mt-gd-1_51.dll,如果我在发布下编译,我想包括 boost_date_time-vc100-mt-1_51.dll。
我的额外部门看起来像这样
Shell32.lib;libzmq.lib;log4cxx.lib;boost_date_time-vc100-mt-gd-1_51.lib;...
在其他库目录下,我添加了所有这些 .lib 文件的路径,这些文件还包含它们各自的 .dll 文件
我尝试了以下但没有成功...
添加了一个自定义构建步骤以在构建之前运行,它将正确的 dll 文件复制到 OutDir,并将此自定义构建步骤的输出设置为 dll 文件。
通过手动编辑 vcxproj 文件有条件地包含内容文件。如果配置是发布模式,我会将非调试版本设置为部署内容,将调试版本设置为 false,反之亦然。这看起来像这样,
<ItemGroup Condition="'$(Configuration)'=='Release'">
<None Include="boost_date_time-vc100-mt-1_51.dll ">
<DeploymentContent>true</DeploymentContent>....
</None></ItemGroup
然而,这些都不起作用。无论我如何构建项目,第二个选项似乎总是默认为调试模式。