autoheader创建的VERSION宏与其他头文件中定义的变量发生冲突。
创始人
2024-09-23 02:31:19
0

在要使用VERSION宏的文件中,使用#define预处理命令重新定义VERSION宏,避免与其他变量冲突。

示例代码:

定义在头文件a.h中的变量:

int a = 0;

autoheader生成的config.h文件:

/* Define to the version of this package. */
#define VERSION "1.0.0"

在b.c文件中,同时引用了a.h和config.h文件:

#include "a.h"
#include "config.h"

int main(){
    printf("version: %s\n", VERSION);
    return 0;
}

在编译时,会提示VERSION宏存在冲突:

b.c: In function ‘main’:
b.c:6:27: error: expected ‘)’ before string constant
     printf("version: %s\n", VERSION);
                           ^
config.h:23:23: note: in definition of macro ‘VERSION’
 #define VERSION "1.0.0"
                       ^
a.h:1:5: note: previous definition of ‘a’ was here
 int a = 0;

我们可以在b.c文件中重新定义VERSION宏,避免冲突:

#define VERSION_MYAPP "1.0.0"
#include "a.h"
#include "config.h"

int main(){
    printf("version: %s\n", VERSION_MYAPP);
    return 0;
}

这样就可以成功编译并输出版本号了。

相关内容

热门资讯

关于!微信微乐自建房辅助工具,... 关于!微信微乐自建房辅助工具,微乐家乡麻将自建房辅助app(开挂自建房)方法1)微乐家乡麻将自建房辅...
大家学习交流!微信卡五星辅助器... 大家学习交流!微信卡五星辅助器,微乐小程序免费黑科技(开挂自建房)方法1、很好的工具软件,可以解锁游...
三分钟了解!微乐微信自建房辅助... 三分钟了解!微乐微信自建房辅助工具插件,微乐家乡麻将自建房辅助app(开挂自建房)工具1、三分钟了解...
一分钟教会你!微乐家乡麻将自建... 一分钟教会你!微乐家乡麻将自建房辅助app,微乐自建房脚本免费入口(开挂自建房)方法1、用户打开应用...
分享实测!微信微乐自建房辅助工... 分享实测!微信微乐自建房辅助工具,微乐自建房脚本免费入口(开挂自建房)器1、起透看视 微信微乐自建房...
重大通报!微乐自建房辅助工具脚... 重大通报!微乐自建房辅助工具脚本,微乐小程序免费黑科技(开挂自建房)app微乐自建房辅助工具脚本破解...
如何分辨真伪!微乐微信自建房辅... 如何分辨真伪!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)技巧1、微乐微信自建房辅...
我来教教你!微乐自建房辅助工具... 我来教教你!微乐自建房辅助工具挂,微乐家乡麻将自建房辅助app(开挂自建房)工具1、玩家可以在微乐家...
重大来袭!微乐自建房辅助工具神... 重大来袭!微乐自建房辅助工具神器,微乐小程序免费黑科技(开挂自建房)器1、游戏颠覆性的策略玩法,独创...
带你了解!微信卡五星辅助器,微... 带你了解!微信卡五星辅助器,微乐自建房脚本免费入口(开挂自建房)方法1、带你了解!微信卡五星辅助器,...