你好,我有一个主要功能,两个文件一个标题和一个c文件
的main.c
#include "sev.h"
int main(int argc, char *argv[])
{
int sockfd, newsockfd, port_no = 1234, index=0;
struct sockaddr_in serv_addr, cli_addr;
fill_server_address(&serv_addr, port_no);
}
sev.c
#include "sev.h"
void
fill_server_address(struct sockaddr_in *serv_addr, int port_no)
{
serv_addr->sin_family = AF_INET;
serv_addr->sin_port = htons(port-no);
serv_addr->sin_addr.s_addr = INADDR_ANY;
}
sev.h
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
void fill_server_address(struct sockaddr_in *serv_addr, int port_no);
但主要是我仍然收到错误
/tmp/cca5VCjZ.o:在函数
main': server-main.c:(.text+0x106): undefined reference to
中fill_server_address'colle2:ld返回1 退出状态
虽然我已定义了该功能并将其包含但仍然为什么我会收到此错误任何人都可以帮我修复它
感谢
答案 0 :(得分:2)
包括标题是不够的。您还需要编译sev.c
并将其链接到可执行文件:
gcc main.c sev.c