1

問題なく実行していたコードがあります。しかし今、私はそれに戻ってきましたが、それをコンパイルすることさえできません!

コンパイルされていない部分は .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 で試してみましたが、同じです。

4

1 に答える 1