0

getopt_long次の行を持つ for windowsのポートを使用しています。

[...]
static char * __progname __P((char *));
int getopt_internal __P((int, char * const *, const char *));

static char * __progname(nargv0) char * nargv0;
{
    char * tmp;
    [...]

synatx に詳しくなく、単純なプロジェクトでは問題なく動作しますが、より大きなプロジェクトで使用すると、コンパイル中に次のエラーが発生します。

..\getopt_long.c(52): error C2365: '__progname' : redefinition; previous definition was 'function'
      ..\getopt_long.c(49) : see declaration of '__progname'

cl展開しないように指示するフラグがあると__progname(nargv0)思いますが、それがどれであるか知っていますか? この情報はエラーを特定するのに十分ですか? それとも別の場所にあるのでしょうか?

いくつかのフラグ:

 [...] /Zi /nologo /W1 /WX- /MP /O2 /Ob2 /D WIN32 /D _WINDOWS /D _AMD64_ /D WITH_PNG /D WITH_OPENMP /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /openmp

そして働くもの:

   C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\CL.exe /c [...] /nologo /W1 /WX- /MP /O2 /Ob2 /D WIN32 /D _WINDOWS /D WINDOWS /D NOMINMAX /D _AMD64_ /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /openmp [...] /Gd /TP /errorReport:queue ..\hello.cpp  /w
4

0 に答える 0