我有一个包含应用程序需要的资源的文本文件。该文件包含任意纯文本,并非具有变量赋值的C++代码。我不想将文本文件与应用程序一起发布;我希望将其编译到应用程序中。因此,我尝试了以下方法:
#include <iostream>
#include <string>
int main() {
std::string test = R"(
#include <textresource.txt>
)";
std::cerr << test << std::endl;
}
我原以为第6行的
#include
会在预处理阶段执行,用资源文件的内容替换它。然后编译器会看到一个包含资源数据的原始字符串字面量。然而,输出结果只是文本
#include <textresource.txt>
,周围有换行符。所以,#include
似乎从未被执行。(我使用的是Visual Studio 2015。)为什么
#include
没有按预期工作?是否有其他语法可以在编译时将文本文件(而不是代码)导入变量中?