【发布时间】:2017-11-13 14:23:48
【问题描述】:
我正在从事 C++ 项目。我有一个名为 "version" 的文件,其中只有像 12343 这样的数字以数字形式定义 [实际上是版本]。 这个 "version" 文件在库 A 中定义。 不知何故,我需要将此值分配给另一个库 B 文件中的宏。
有什么办法吗?
由于作品是官方的,所以这里不能分享代码。
【问题讨论】:
-
“库A”采用什么形式?如果它是一个已编译的 blob,那么在编译时从中提取任何有用的东西将是相当棘手的。作为构建系统的一部分,您可能会在预处理/代码生成步骤中做得更好。
-
所以你的名为“version”的文件是一个只包含一行的文本文件,例如
12343?请edit您的问题并明确那里 -
这似乎是重复的:How Can I read a file at preprocessing time 今天询问(可能是同一用户)
-
@VTT 不太一样,这里他想将一行文件的内容放入
#define(至少我是这么理解的)并且在你提到的问题中他想要为全局变量赋值。 -
@MichaelWalz:是的,文件名是“版本”,它包含您提到的版本号。现在我只需要在预处理期间将此值分配给宏。这将使我能够根据宏的值使用一些编译器保护。