仗义的柳树 · uniapp 读取私有目录下文件信息及名字 ...· 1 周前 · |
腼腆的松球 · python ...· 1 周前 · |
耍酷的便当 · os.walk()的详细理解(秒懂)-CSDN博客· 1 周前 · |
慷慨的水煮肉 · 深度对比Python中4大文件处理库(os、 ...· 1 周前 · |
茫然的雪糕 · 【Flutter 实战】文件系统目录 - ...· 1 周前 · |
听话的跑步鞋 · 使用Matlab的自带函数生成高斯滤波器处理 ...· 4 月前 · |
微醺的开水瓶 · Python ...· 9 月前 · |
坐怀不乱的铅笔 · python怎么画地图轮廓-掘金· 1 年前 · |
知识渊博的单车 · 微信小程序 判断是否为空-掘金· 1 年前 · |
微醺的牛肉面 · Unity基础教程系列(新)(一)——游戏对 ...· 1 年前 · |
我有一个依赖于外部C++文件的Visual Studio项目。如何使Visual Studio在生成项目时自动将此DLL文件复制到输出目录(debug/release)?
发布于 2009-11-22 01:19:34
在项目中使用生成后操作,并添加命令以复制有问题的DLL。构建后操作以批处理脚本的形式编写。
输出目录可以引用为
$(OutDir)
。项目目录为
$(ProjDir)
。尝试在适用的情况下使用相对路径,以便您可以复制或移动项目文件夹,而不会破坏生成后操作。
发布于 2014-09-05 07:07:14
$(OutDir)原来是VS2013中的一个相对路径,所以我必须将它与$(ProjectDir)结合起来才能达到预期的效果:
xcopy /y /d "$(ProjectDir)External\*.dll" "$(ProjectDir)$(OutDir)"
顺便说一句,您可以通过在开头添加“echo”来轻松地调试脚本,并观察构建输出窗口中展开的文本。
发布于 2019-06-17 21:32:40
xcopy /y /d "$(ProjectDir)External\*.dll" "$(TargetDir)"
您还可以参考相对路径,下一个示例将在位于项目文件夹上一级的文件夹中找到DLL。如果在一个解决方案中有多个使用DLL的项目,这会将DLL的源代码放在一个公共区域,当您将其中任何一个设置为“启动项目”时,都可以访问它们。
xcopy /y /d "$(ProjectDir)..\External\*.dll" "$(TargetDir)"
/y
选项无需确认即可复制。
/d
选项检查目标中是否存在文件,如果存在,则仅在源的时间戳比目标的时间戳新的情况下进行复制。
我发现至少在较新版本的Visual Studio中,例如VS2109,
$(ProjDir)
是未定义的,必须使用
$(ProjectDir)
。
如果在
xcopy
中省略了目标文件夹,则应默认将其放在输出目录中。这对于理解为什么
$(OutDir)
本身没有帮助是很重要的。
至少在Visual Studio的最新版本中,
$(OutDir)
被定义为输出文件夹的相对路径,如
bin/x86/Debug
。单独使用它作为目标将从项目输出文件夹开始创建一组新的文件夹。例如:
… bin/x86/Debug/bin/x86/Debug
。
将其与项目文件夹相结合,应该会让您找到合适的位置。例如:
$(ProjectDir)$(OutDir)
。
但是,
$(TargetDir)
将在一个步骤中提供输出目录。
Microsoft's list of MSBuild macros for current and previous versions of Visual Studio
https://stackoverflow.com/questions/1776060
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
耍酷的便当 · os.walk()的详细理解(秒懂)-CSDN博客 1 周前 |
坐怀不乱的铅笔 · python怎么画地图轮廓-掘金 1 年前 |
知识渊博的单车 · 微信小程序 判断是否为空-掘金 1 年前 |