我有一个DLL的Visual C++项目和它的安装项目。在安装程序中,我添加了项目的内容文件。有条件地将内容文件添加到Visual Studio C++项目
有没有一种方法可以将文件添加为内容文件,具体取决于您是在编译调试还是发布?我想包括boost_date_time-vc100-mt-gd-1_51.dll,如果我在调试版和boost_date_time-vc100-mt-1_51.dll下编译,如果我在版本下编译。
我额外DEPS看起来像这样
Shell32.lib;libzmq.lib;log4cxx.lib;boost_date_time-vc100-mt-gd-1_51.lib;...
在附加库目录我已经添加的路径,所有这些.lib文件还包含各自的.dll文件
我已经尝试以下没有成功...
添加一个自定义生成步骤运行之前生成,复制c或将dll文件保存到OutDir中,并将此自定义生成步骤的输出设置为dll文件。
通过手动编辑vcxproj文件有条件地包含内容文件。如果配置是发布模式,我将设置非调试版本为部署内容,调试版本为false,反之亦然。这看起来是这样的,但是
<ItemGroup Condition="'$(Configuration)'=='Release'">
<None Include="boost_date_time-vc100-mt-1_51.dll ">
<DeploymentContent>true</DeploymentContent>....
</None></ItemGroup
这些都没有成功。无论我如何构建项目,第二个选项总是默认为调试模式。
您是否将DLL与LIB链接起来,还是使用'LoadLibrary'? – paddy
我更新了我的问题。我想这不是真的缩短了lib名称。即时通讯使用标题,但函数im调用需要.dll,所以没有涉及到的图形 – bgura