我试图使用布尔值,但由于某种原因,它只是给了我一个错误的Clion。
#include <stdio.h>
#define bool int
#define true 1
#define false 0
int main() {
bool isf = true;
bool ift = false;
printf("%d\n", isf);
printf("%d\n", ift);
}
error code: clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
我试过用
#include <stdbool.h>
但我在C17时它就忽略了
我也试着定义它们,这确实表明它没有错,但当我运行它时,它显示了一个错误。我也使用Mac,我有Xcode。
我也是几天前开始学习C语言的,所以请大家多多包涵。
正确的错误代码:
duplicate symbol '_main' in:
CMakeFiles/untitled3.dir/main.c.o
CMakeFiles/untitled3.dir/Second_class.c.o
ld: 1 duplicate symbol for architecture arm64.
1条答案
按热度按时间4c8rllxm1#
如错误消息所示,您正在链接两个文件
CMakeFiles/untitled3.dir/main.c.o
和CMakeFiles/untitled3.dir/Second_class.c.o
,这两个文件都定义了符号_main
。1.您需要不将两个文件链接到同一个可执行文件中,或者
1.将其中一个符号更改为其他名称
@RetiredNinja说你有两个
main()
函数。当我试图复制它时,我在Linux上得到了一个不同的错误: