我正在为我的系统编程课程工作,这是一门使用linux终端和C语言的课程。我拥有一台Mac并且已经为我的其他课程需要一个Windows VM,所以我没有linux机器的空间,我的教授说我的mac机器可以正常工作,因为它有linux终端。
我们必须创建一个makefile文件,它将c项目编译并链接在一起并创建一个.bin文件,这是在Linux环境中编程C的基础,但是我的makefile出错了。
我认为它与Linux和MacOS之间的区别有关,但我不确定。
我的makefile如下:
./bin/cryptoMagic: ./obj/main.o
cc ./obj/main.o -o ./bin/cryptoMagic
./obj/main.o: ./src/main.c ./inc/prototypes.h
cc ./src/main.c -c -o ./obj/main.o
当我在终端中运行make实用程序时,我收到以下错误消息:
kyles-MacBook-Pro:~ KyleJensen$ cd Documents/School/First\ Year/Semester2/SystemProgramming/Assignments/Assign01/
kyles-MacBook-Pro:Assign01 KyleJensen$ make
cc ./obj/main.o -o ./bin/cryptoMagic
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [bin/cryptoMagic] Error 1
答案 0 :(得分:1)