在 Qt 项目(带有 Qt 插件)上使用 Visual Studio,似乎总是抛出错误消息:
error C2001: newline in constant
从以下行:
this->setApplicationVersion(QString(BUILD_VERSION));
或者每当我使用 QMake 文件中定义的编译器常量时。BUILD_VERSION 在我的 QMake 构建配方中定义,如果我使用不同的 IDE,编译项目会成功(即使我使用相同的 MSVC 编译器,一切正常)。
我想我要么在 Qt 插件中或在 Visual Studio 中缺少首选项,要么我需要在我的 QMake 文件等之外重新定义我的常量......
该常量由 Intellisense 定义和拾取为:
#define BUILD_VERSION \"0.1.0\"
发现问题在于转义常量中的引号,在 Visual Studio 中这不起作用,但它可以与 Mingw 和命令行上的 MSVC 编译器一起使用。使用 Visual Studio 定义没有转义的常量:
#define BUILD_VERSION "0.1.0"
问题是在 QMake 文件中定义常量,我需要像这样转义:
#define BUILD_VERSION \\\"0.1.0\\\"
有没有办法在 QMake 文件中定义它们并让它们与 Visual Studio 一起工作?