首页 > 其他分享 >关于Makefile中 undefined reference to `main' 的问题(待完善)

关于Makefile中 undefined reference to `main' 的问题(待完善)

时间:2024-12-31 12:30:16浏览次数:1  
标签:ipc 头文件 undefined reference admin Makefile seller message server

一. 正常情况
(1)首先引入头文件:
server.o: server.c server.h#引入server.h头文件

  client.o: client.c client.h#引入client.h头文件

  admin.o : admin.c admin.h #引入admin.h头文件

  seller.o : seller.c seller.h	#引入seller.h头文件
  ipc.o : ipc.c ipc.h				#引入ipc.h头文件
  message.o : message.c message.h #引入message.h头文件

(2)其次声明依赖文件:
svr_objs = server.o ipc.o message.o #服务程序依赖的对象文件
admin_objs = admin.o ipc.o message.o client.o # 管理员程序依赖的对象文件
seller_objs = seller.o ipc.o message.o client.o # 卖家程序依赖的对象文件

(3)然后生成可执行程序(注意第二行要有TAP键):
$(server_bin): $(svr_objs) #生成服务器程序
$(CC) $(CFLAGS) $^ -o $@

(4)$(admin_bin): $(admin_objs) #生成管理员程序
$(CC) $(CFLAGS) $^ -o $@

  $(seller_bin): $(seller_objs)	#生成商家程序
    $(CC) $(CFLAGS) $^ -o $@ 

(5)最后编译所有程序(写到最上面):

    all: $(server_bin) $(admin_bin) $(seller_bin)  # 编译所有程序

二. 问题在于
(1) 每一个程序中必须有且只有1个main函数而且不能是空的,否则会重复定义或者未定义;

标签:ipc,头文件,undefined,reference,admin,Makefile,seller,message,server
From: https://www.cnblogs.com/peter042516/p/18643684

相关文章

  • Makefile 语法速查
    本文是我在看南京大学NEMU项目makefile总结的看到的语法,非面相零基础人员学习。make​是一个用于构建大型项目的命令工具,其通过预先定义的Makefile来构建可执行文件。Makefile中定义了各文件之间的依赖关系,以及需要执行哪些相应的命令来完成项目构建。make的基础参数:-......
  • Ubuntu 22.04 编译安装 PHP 7.4.33 报错:make: *** [Makefile:749: ext/openssl/openss
     下载openssl1.1.1  https://openssl-library.org/source/old/1.1.1/index.html安装低版本OpenSSLwgethttps://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gztarzxvfopenssl-1.1.1w.tar.gzcdopenssl-1.1.1w./config--prefi......
  • HALCON Operator Reference(HALCON 算子参考资料,含pdf文件)
    (链接附文末) 在halcon程序中打开算子帮助窗口,可以看到该算子所属的模块,例如我想看关于fill_up_shape这个算子的说明:HALCON24.11.1.0/HALCONOperatorReference/Regions/Transformations 就可以在pdf的目录跳转到fill_up_shape这个算子的说明页,作用大概就是更好翻......
  • 在js中undefined和undeclared有什么区别?
    在JavaScript中,undefined和undeclared(未声明)之间的主要区别体现在它们如何与变量作用域和变量生命周期进行交互。undefined:当你声明了一个变量,但没有给它赋值时,这个变量的值就是undefined。你可以显式地将一个变量的值设置为undefined。undefined是一个JavaScript的全局对......
  • 了解Makefile配置
    Make简介:工程管理器,也就是个自动编译管理器,能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时通过读入Makefile文件的内容来执行大量的编译工作。Make将只编译改动的代码文件,而不用完全编译。Makefile是Make读入的唯一配置文件。编译将源码翻译成机器代码:gcc-......
  • Linux系统和makefile详解
    ###Linux系统详解Linux是一个开源且功能强大的操作系统内核,自1991年由林纳斯·托瓦兹首次发布以来,它已经成为全球最流行的操作系统之一。Linux的核心特性包括开源、多用户多任务、高稳定性与安全性,以及良好的跨平台能力。1.**开源**:Linux的源代码对所有人开放,任何人都可以......
  • Makefile文件中,两个$的变量变量$$Xxx 与一个$的变量 $Xxx的区别
    原文地址:Makefile文件中,两个$的变量变量$$Xxx与一个$的变量$Xxx的区别Makefile中的变量引用在Makefile中,$符号用于变量替换,但它的使用方式有一些细微的区别:单个$符号($Xxx)用途:用于引用Makefile中定义的变量。用法:$后面可以跟变量名,通常用括号或花括号括起来......
  • 15-makefile
    一、Makefile的概述1.认识makemake是一个命令,是个可执行程序,用来解析Makefile文件的命令;linux环境下,这个命令存放在/usr/bin/目录下;当用户输入make指令时,系统会自动寻找makefile、Makefile、GNUmakefile中任何一个,根据该文件中的指令编译工程。2.什么是makefil......
  • 告警处理 Unresolved attribute reference 'status_code' for class 'object'
    代码中有如下告警:1. Unresolvedattributereference'status_code'forclass'object'这个错误通常出现在使用Python进行编程时,尤其是在使用类似于Django或Flask这样的Web框架时。它意味着你尝试在一个类的实例中访问一个不存在的属性status_code。在这个上下文中,'obje......
  • 【Linux】Linux开发利器:make与Makefile自动化构建详解
    Linux相关知识点可以通过点击以下链接进行学习一起加油!初识指令指令进阶权限管理yum包管理与vim编辑器GCC/G++编译器在现代软件开发中,自动化构建工具显得尤为重要,make和Makefile是Linux环境下的常用选择。它们通过定义规则和依赖关系,帮助开发者高效管理项目的构建过程。......