1

Visual Studio 2010 でOpenHMDをコンパイルしようとしています。Win32ライブラリ プロジェクトのレイアウトから始めました。stdafx.cpp が作成され、生成されたヘッダーと共にそのファイルが削除されたことに気付きました。今でも次のようなコンパイル エラーが発生します (コメントとしてインライン化されています)。

OHMD_APIENTRY int ohmd_ctx_probe(ohmd_context* ctx)
{
    memset(&ctx->list, 0, sizeof(ohmd_device_list));
    int i;  // <-- error C2143: syntax error : missing ';' before 'type'
    for(i = 0; i < ctx->num_drivers; i++){  // <-- error C2065: 'i' : undeclared identifier
        ctx->drivers[i]->get_device_list(ctx->drivers[i], &ctx->list);
    }

    return ctx->list.num_devices;
}

単純な C コンパイルを強制したり、C 言語レベル C99 を設定したりできる場所はどこですか? これは C89 の問題のように見えますか?

注:すでにforループを変更しました

for(int i = 0;  ...

int i;
for( i = 0; ...
4

1 に答える 1

5

Visual Studio は C99 をサポートしておらず、Microsoft もそれをサポートする予定はありません。こちらを参照してください: http://www.drdobbs.com/cpp/interview-with-herb-sutter/231900562

于 2013-08-24T18:18:47.707 に答える