0

私はこれを含むcppファイルを持っています:

#include "twitServer.h"

そしてtwitServer.hで私は持っています:

#ifndef twitServer_twitServer_h
#define twitServer_twitServer_h
#include <string>
#include <map>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <list>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <cstring>
#include <netdb.h>
#include <errno.h>
#include <sstream>
#include <algorithm>
#include <ctime>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include "twitUser.h"

using namespace std;

void startServer(string port);

#endif

しかし、Xcodeはこの行について次のように述べています。

if ((rv = getaddrinfo(NULL, port, &hints, &ai)) != 0) {
    fprintf(stderr, "selectserver: %s\n", gai_strerror(rv));
    exit(1);
}

定義されてgetaddrinfoいないこと...なぜそれ?

インクルードがcppファイルにある場合、どのように機能しますか

4

2 に答える 2

1

問題を解決する方法はわかりませんが、慣例により、ヘッダーファイルにインクルードしないでください。いつかコードを記述してヘッダーファイルが必要になる可能性がありますが、すべてのインクルードが必要になるわけではありません。

于 2012-06-17T16:08:42.660 に答える
0

Ws2tcpip.hを含めてみて、それで問題が解決するかどうかを確認してください。これはMSDNがそれについて言わなければならないことです(要件のセクションを参照してください)

http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520%28v=vs.85%29.aspx

また、これは非常に多くのヘッダーファイルが含まれているように思われ、何をしているのかを本当に理解していない限り、一部は一致しないはずです。Cヘッダー(stdio.h、stdlib.h string.h)と混合されたかなりの数のC ++ヘッダー(iostream(ちなみに2回含まれています)、cstdio、cstdlib、algorithm、list、string、ctime ...)があります。 )。多分それはそこにいくつかの春の大掃除の時間です:)

于 2012-06-17T13:51:50.833 に答える