문제없이 실행하는 데 사용한 코드 조각이 있습니다. 하지만 이제 나는 그걸로 돌아갈거야. 그리고 나는 그것을 컴파일 할 수 없다.컴파일 오류 알 수 없음
컴파일되지 않은 부분은 .c 파일이고 라이브러리에 대해 불평하고있는 것 같습니다.
나는이 일을하여 컴파일하려고 :
gcc f.c
를 내가 얻을 :
In file included from /usr/include/machine/ansi.h:39:0,
from /usr/include/sys/ansi.h:35,
from /usr/include/stdio.h:42
from f.c:7:
/usr/include/machine/int_types.h:45:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'typedef'
In file included from /usr/include/sys/inttypes.h:39:0,
from /usr/include/inttypes.h:36,
from /usr/include/netdb.h:98,
from f.c:9:
/usr/include/sys/stdint.h:39:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int8_t'
In file included from /usr/include/ara/inet.h:69:0,
from netlib.h:7,
from f.c:16:
/usr/include/netinet/in.h:242:2: error: expected specifier-qualifier-list before '__int8_t'
/usr/include/netinet/in.h:259:2: error: expected specifier-qualifier-list before '__int8_t'
을 그리고 이것은 내 .c 파일입니다 :
이#include <stdio.h>
#include <string.h>
#include <netdb.h>
#include <sys/socket.h>
#include <unistd.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "netlib.h"
#include <stdlib.h>
#define MACHSIZE 50
#define BUFFSIZE 256
#define MAXCONN 100
#define MAXFILES 500
#define COMBUFF 200
struct Connection{
int conn;
in_addr_t ip;
int port;
int numFilesOpened;
};
typedef struct Connection Connection;
Connection connection[MAXCONN];
struct Files{
int fid;
long machine;
int conn;
};
typedef struct Files Files;
Files files[MAXFILES];
int filesOpened = 0;
int port = 15061;
int numCli = 0;
char command[COMBUFF];
char response;
int conn;
char buffer[BUFFSIZE];
...
더있다 하지만 저는 도서관과 관련이 있다고 생각합니다. 그래서 당신이 저를 도울 수있을 것입니다.
아무도 여기를 볼 수 있습니까?
또한 중요한 경우 NetBSD에서이 작업을 수행하고 있지만 FreeBSD에서 시도했지만 동일합니다.
정말이게 맞습니까? stdio.h는 포함하고있는 최초의 헤더 파일이며 gcc 명령에'-D' 매개 변수가 없습니다. 그렇다면 컴파일러 설치가 잘못되었다고 생각합니다. 확실한 것은 그것이 도달하기 전에 오류가 발생하기 때문에 오류가 코드에서 올 수 없다는 것입니다. – Medinoc
@Medinoc 와우 - 그게 정말로 내가 첫 번째 줄 앞에 'f'가 있음을 알게 한 당신의 의견입니다 (단지 코멘트 였기 때문에 여기에 포함되지 않았습니다). 고맙습니다! – coconut