Visual Studio 2019中如何跨项目引用VS宏$(TargetFileName)定义预处理器?
在Visual Studio 2019中跨项目传递目标文件名到预处理器宏
要在ProjectB中定义预处理器宏THE_OTHER_FILE_NAME,使其值等于ProjectA的$(TargetFileName),按以下步骤操作:
设置项目依赖
右键解决方案中的ProjectB,选择「项目依赖」,勾选ProjectA。这能确保VS先编译ProjectA,保证其目标文件信息可被正确读取。配置ProjectB的预处理器定义
右键ProjectB→ 属性 → 配置属性 → C/C++ → 预处理器 → 预处理器定义,添加以下内容:THE_OTHER_FILE_NAME="$(ProjectA_TargetFileName)"$(ProjectA_TargetFileName)是VS提供的跨项目宏,专门用于获取ProjectA的目标文件名(如ProjectA.exe或ProjectA.dll)- 外层引号是为了让预处理器宏的值作为合法的C++字符串常量存在
验证配置(可选)
在ProjectB的源文件中添加测试代码,确认宏值正确:#include <iostream> int main() { std::cout << "ProjectA的目标文件名:" << THE_OTHER_FILE_NAME << std::endl; return 0; }编译并运行
ProjectB,控制台应输出ProjectA的实际目标文件名。
注意:确保操作时选择的配置(Debug/Release)和平台(x86/x64)与
ProjectA一致,避免因配置差异导致宏值不正确。
内容的提问来源于stack exchange,提问作者Pavel Stepanek
相关产品推荐
相关产品推荐

