visual studio 获取并输出 $(ProjectDir) 的所在的具体路径
问题说明
-
验证环境:
Visual Studio 2022 -
想知道 visual studio 的一些默认工程路径,比如
$(ProjectDir)所在的绝对路径,是相对于.sln解决方案的路径,还是.vcxproj所在路径
解决方法
-
研究了一下 visual studio 的生成过程,可以在
生成解决方案前,做一点前置的自定义操作,比如把$(ProjectDir)打印出来 -
visual studio 的工程右键(非解决方案) -> 属性

- 或者点击菜单: 项目 -> 属性

- 在工程的属性页对话框中,找到 【自定义生成步骤】

-
【自定义生成步骤】中,可以写入基本的命令,或者执行一些自定义的操作,
- 在 【命令行】中,可以输入一些命令,如下
echo $(ProjectDir)
echo $(ProjectName)
echo "hello end"
- 在【输出】栏:可以输入这段操作的命名

- 此时编译解决方案(工程时),在编译【输出】的位置,就会打印一些信息,比如把
echo $(ProjectDir)可以输出实际的路径

- 至此,可以在 visual studio 中 获取并确定 $(ProjectDir) 的所在的具体路径了
小结
-
这些自定义的生成步骤,可以做一些更复杂的操作,比如生成多个产物,可以顺便用于测试某个产物,这样就不用手动运行,而在生成阶段完成。
-
有了 $(ProjectDir) 的所在的具体路径,让头文件、第三方库等基于这个 工程目录,也就是工程中使用【相对路径】,让工程适用性更强(别人使用)。
