0

この回答に従って Bonjour をダウンロードしました - https://stackoverflow.com/a/19585202/492336

VS2008 を使用して Windows 用にコンパイルしようとしていますが、次のエラーが発生します。

エラー C2016: C では、構造体または共用体に少なくとも 1 つのメンバーが必要です

エラーはmDNSEmbeddedAPI.h、コード内の次の場所にあります。

#define NSEC_MCAST_WINDOW_SIZE 32
typedef struct
{
    //domainname *next;
    //char bitmap[32];
} rdataNSEC;

これは Apple によってリリースされた有名なライブラリであるため、Visual Studio プロジェクトとして出荷された場合、コンパイルに失敗することに驚きました。

VS2008を使っているからでしょうか? 最初に出荷されたプロジェクト ファイルは古いバージョン用でした - VS2005 だと思いますか?

4

2 に答える 2

3

それ以外の

typedef struct
{
    //domainname *next;
    //char bitmap[32];
} rdataNSEC;

あなたが使用する必要があります

 typedef struct rdataNSEC rdataNSEC;
 struct rdataNSEC{ };
于 2013-10-25T13:01:49.633 に答える
1

rdataNSEC(in )の宣言のすぐ上のコメントからmDNSEmbeddedAPI.h:

// ... The following is just a palceholder
// and never used anywhere.

では、なぜ宣言をコメントアウトしないのでしょうか?

于 2013-10-25T12:50:30.263 に答える