https://www.cnblogs.com/zuibunan/p/3843459.html
下面的文章也有介绍
https://blog.csdn.net/lp310018931/article/details/47991759
https://www.cnblogs.com/ljy339/p/9808482.html
3rd 目录下需要手动创建
bin目录下的目录需要手动创建
命令 不要配置 md $(SolutionDir)..\bin\$(ConfigurationName)
配置属性 --> 常规 --> 中间目录: $(SolutionDir)..\temp\compile\$(ConfigurationName) 修改ConfigurationName为Configuration
配置属性 --> 常规 --> 输出目录: $(SolutionDir)..\temp\link\$(ConfigurationName)修改ConfigurationName为Configuration
配置属性 --> 调试 --> 命令: $(SolutionDir)..\bin\$(ConfigurationName)\$(TargetFileName) 修改ConfigurationName为Configuration
配置属性 --> 调试 --> 工作目录: $(SolutionDir)..\bin\$(ConfigurationName)\ 修改ConfigurationName为Configuration
涉及到的配置: 项目编译时使用的中间目录; 项目链接的输出目录; 项目编译结束后,拷贝生成的 dll 和 lib 到指定目录; 项目编译结束后,拷贝需要的 dll 到输出目录; 设置项目的工作目录; 设置调试时执行的 exe 和工作目录; 配置时使用到的一些宏: ConfigurationName 配置名字,通常是Debug或者Release IntDir 编译器使用的中间目录,产出obj文件 OutDir 链接器使用的输出目录 ProjectDir 项目目录 ProjectName 项目名字 SolutionDir 解决方案目录 TargetDir 目标输出文件所在的目录 TargetExt 目标输出的扩展名 TargetFileName 目标输出文件名,包括扩展名 TargetName 目标输出名,不包括扩展名 TargetPath 目标输出文件的全路径名 下面以 Sticker 为例展示目录结构设置的过程: Sticker 目录结构: Sticker +-- 3rd (第三方库) | +-- dll | | +-- debug | | +-- release | +-- lib | | +-- debug | | +-- release | +-- include | +-- src (源码) | +-- Sticker | | +-- Sticker 项目的代码 | +-- StickerLibrary | | +-- StickerLibrary 项目的代码 | +-- Sticker.sln | +-- xar (脚本) | +-- Sticker | +-- ... | +-- doc (文档) | +-- bin (可执行文件) | +-- debug | +-- release | +-- temp (中间目录) +-- compile | +-- debug | +-- release +-- link +-- debug +-- release 1. 创建文件夹 Sticker\src 2. 创建一个空的解决方案 Sticker.sln ,放入 Sticker\src 中 3. 创建项目 Sticker 4. 属性 --> 配置 设定为“所有配置”,这样可以同时设定 debug\release 下的配置 5. 配置属性 --> 常规 --> 中间目录: $(SolutionDir)..\temp\compile\$(ConfigurationName) 6. 配置属性 --> 常规 --> 输出目录: $(SolutionDir)..\temp\link\$(ConfigurationName) 7. 配置属性 --> C/C++ --> 常规 --> 附加包含目录: "$(SolutionDir)..\3rd\include" 8. 配置属性 --> 链接器 --> 常规 --> 附加库目录: "$(SolutionDir)..\3rd\lib\$(ConfigurationName)" 9. 配置属性 --> 链接器 --> 输入 --> 附加依赖项: xxx1.lib xxx2.lib xxx3.lib 10. 配置属性 --> 生成事件 --> 生成后事件 --> 命令行: md $(SolutionDir)..\bin\$(ConfigurationName) copy $(TargetPath) $(SolutionDir)..\bin\$(ConfigurationName) copy $(SolutionDir)..\3rd\dll\$(ConfigurationName) $(SolutionDir)..\bin\$(ConfigurationName) 11. 配置属性 --> 调试 --> 命令: $(SolutionDir)..\bin\$(ConfigurationName)\$(TargetFileName) 12. 配置属性 --> 调试 --> 工作目录: $(SolutionDir)..\bin\$(ConfigurationName)\