MacOSx-使用make命令编译C项目

MacOSx - Compiling a C project using make command

本文关键字:项目 编译 命令 使用 make MacOSx-      更新时间:2023-10-16

我正在为我的系统编程课程做作业,这是一门使用linux终端和C语言的课程。我有一台mac,我的其他课程已经需要一台windows虚拟机,所以我没有空间放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

真傻。我的C文件中没有有效的主函数。孩子们,以后要小心这个!