clion:修复未定义的标识符
clion: fixing an undefined identifier
我继承了一个使用 make 的 C 项目,我对 cmake 或 Clion 都不是专家
我有一个文件a.c
#define A 1
#include "b.c"
b.c
int i=A*3; //<=== undefined identifier A here in Clion
这可以用简单的 CMake 文件编译得很好
add_library(myLib a.c)
如何在编辑 b.c
时告诉 Clion 标识符 A
在 a.c 中定义
备注
VSCode 似乎有点 "smarter":同时编辑 a.c 和 b.c 将使 b.c 使用 [= 中定义的标识符31=]。尽管如此,如果有 CLion 解决方案,我还是很感激。
这个标识符显然没有为 b.c
定义。包含 .c
文件是相当奇怪的。
您可能想要的是包含以下内容的 a.h
文件:
#ifndef _A_H
#define _A_H
#define A 1
#endif // _A_H
然后在a.c
和b.c
中使用#include "a.h"
。
我继承了一个使用 make 的 C 项目,我对 cmake 或 Clion 都不是专家
我有一个文件a.c
#define A 1
#include "b.c"
b.c
int i=A*3; //<=== undefined identifier A here in Clion
这可以用简单的 CMake 文件编译得很好
add_library(myLib a.c)
如何在编辑 b.c
时告诉 Clion 标识符A
在 a.c 中定义
备注
VSCode 似乎有点 "smarter":同时编辑 a.c 和 b.c 将使 b.c 使用 [= 中定义的标识符31=]。尽管如此,如果有 CLion 解决方案,我还是很感激。
这个标识符显然没有为 b.c
定义。包含 .c
文件是相当奇怪的。
您可能想要的是包含以下内容的 a.h
文件:
#ifndef _A_H
#define _A_H
#define A 1
#endif // _A_H
然后在a.c
和b.c
中使用#include "a.h"
。