
[英]Visual Studio Code C Undefined symbols for architecture arm64
[英](C) Undefined symbols for architecture arm64
当前在编译包含多个文件的程序以及处理 main 之外的文件时遇到问题。 我怀疑它与编译器有关,与 -c 命令有关,或者可能是我在安装过程中搞砸了。 解决这个问题的任何帮助都会是一个巨大的帮助,我一直在询问同学并在线查看,但似乎解决方案必须非常简单。
[Running] cd "/Users/shawn/Desktop/c-course/M03/calc/src/" && gcc tempCodeRunnerFile.c -o tempCodeRunnerFile && "/Users/shawn/Desktop/c-course/M03/calc/src/"tempCodeRunnerFile
Undefined symbols for architecture arm64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[Done] exited with code=1 in 0.254 seconds`your text
这是 source.c 文件,我打算更改的文件。
#include "source.h"
#include <math.h>
#include <stdio.h>
void simple_math(void){
float num1;
float num2;
float result;
char operator;
char space = ' ';
scanf("%f", &num1);
scanf("%c", &space);
scanf("%f", &num2);
scanf("%c", &space);
scanf("%c", &operator); //taking user input
switch(operator) {
case '+':
result = num1 + num2;
printf("%.1f", result);
break;
case '-':
result = num1 - num2;
printf("%.1f", result);
case '*':
result = num1 * num2;
printf("%.1f", result);
case '/':
result = num1 / num2;
printf("%.1f", result);
default:
printf("ERR");
}
printf("%.1f", result);
}
source.h 文件只包含
void simple_math(void);
主文件包含以下内容,#include 标记包括其他文件。
#include "source.h"
#include <stdio.h>
int main()
{
printf("\n--- Testing calculator ---\n");
simple_math();
return 0;
}
所有文件都需要链接和编译:
gcc file1.c file2.c -o myprogram
然后运行可执行文件:
./myprogram
可以参考这个回答: How do I link object files in C? 失败并显示“体系结构 x86_64 的未定义符号”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.