почему я не могу скомпилировать следующее? - PullRequest
0 голосов
/ 04 января 2012

Я пытаюсь скомпилировать полученный мной пакет: http://sourceforge.net/projects/desr/

на MacOSX с SDK 10.6 или 10.7 (у меня есть оба в /Developer).

Я получаюследующие ошибки:

g++  -g -O2  -I. -I.. -I../ixe -c charmap.cpp
g++  -g -O2  -I. -I.. -I../ixe -c HtmlTokenizer.cpp
In file included from /usr/include/c++/4.2.1/iosfwd:45,
             from /usr/include/c++/4.2.1/bits/stl_algobase.h:70,
             from /usr/include/c++/4.2.1/bits/char_traits.h:46,
             from /usr/include/c++/4.2.1/string:47,
             from ./Char.h:30,
             from ./string.h:27,
             from /usr/include/c++/4.2.1/cstring:52,
             from HtmlTokenizer.cpp:24:
/usr/include/c++/4.2.1/bits/c++locale.h: In function ‘int std::__convert_from_v(int* const&, char*, int, const char*, ...)’:
/usr/include/c++/4.2.1/bits/c++locale.h:69: error: ‘strcmp’ is not a member of ‘std’
/usr/include/c++/4.2.1/bits/c++locale.h:71: error: ‘strlen’ is not a member of ‘std’
/usr/include/c++/4.2.1/bits/c++locale.h:72: error: ‘strcpy’ is not a member of ‘std’

Я читал об этом в Интернете, и кажется, что ни одна из причин, указанных на других форумах, не является причиной в этом случае (например, отсутствующее включение "cstring" или включениевнутри определения пространства имен).

Я знаю, что скомпилировал этот пакет в Linux, поэтому я думаю, что либо моя установка Mac OSX xcode не работает (??), либо xcode чувствителен к некоторой ошибке в этом пакете, чтоВ среде Linux нет.

Есть идеи?

1 Ответ

1 голос
/ 05 января 2012

Локальный включаемый файл "string.h" маскирует систему <string.h>. Как правило, это вызвано проектами, которые требуют FS с учетом регистра и используют имена файлов, такие как String.h, которые конфликтуют с системой на FS без учета регистра (что по умолчанию в OS X).

Если проблема действительно нечувствительна к регистру, вы можете либо: а) исправить проект, чтобы не использовать такие глупые имена, либо б) создать образ диска, отформатированный с учетом HFS + с учетом регистра, и скомпилировать проект там.

...