在基于NMake的Visual Studio C ++项目(.vcxproj)中-为LibreOffice项目自动生成以进行IDE集成,我需要设置一个预处理程序定义(SRCDIR
),该定义是一个包含双引号{{1}的字符串}。在.vcxproj中,它是这样完成的:
"
以便内部双引号正确转义以用作C字符串文字。
但是尝试在C ++代码中使用<NMakePreprocessorDefinitions>_WIN32_WINNT=0x0601;SRCDIR="\"C:/lo/src/core\"";$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
,例如
SRCDIR
我在IntelliSense中看到了这个问题:
const size_t nStrLen(std::strlen(SRCDIR));
因此IntelliSense显然转义了反斜线,从而打破了字符串。
我需要提到的是,VS项目不是用于构建模块的(使用控制台制造商),所以我不仅无法查看IntelliSense,而且无法查看基于VS的构建。但是问题是:如何正确设置这样的预处理器定义?