Я использую порт getopt_long
для окон, которые имеют следующие строки:
[...]
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
Задача ещё не решена.
Других решений пока нет …