MacOSx-使用make命令编译C项目
MacOSx - Compiling a C project using make command
我正在为我的系统编程课程做作业,这是一门使用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文件中没有有效的主函数。孩子们,以后要小心这个!
相关文章:
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 示例C++项目编译中的警告
- 使用 raylib 静态库进行项目编译
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- C++项目编译强制使用 /clr 选项,尽管在没有公共语言运行时支持的情况下执行它
- 我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?
- 旧项目编译的未定义引用
- Codelite不使用全局编译设置或项目编译设置
- x264项目编译
- 使用 Boost 单元测试进行 G++ 项目编译
- 项目编译时无法使用 gvim
- 强制将特定文件编译为Objective-C/文件类型,但将整个项目编译为Objective C++
- Eclipse显示错误,但项目编译并执行
- 如何最好地将C++/Cython项目编译成可执行文件
- CMake项目编译精细的SHARED库,但不使用STATIC库
- 如何在实践中解决项目编译中链接库的顺序问题
- Cef项目编译链接error2001
- 我的项目编译在vs2008没有一个单一的问题,但不是在2010年
- visual studio 2010 - c++项目编译和链接