Я пытаюсь скомпилировать пакет, который я получил отсюда: http://sourceforge.net/projects/desr/Почему я не могу скомпилировать следующее?
на MacOSX с SDK 10.6 или 10.7 (у меня есть оба/Разработчик).
я получаю следующие ошибки:
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.
Любые идеи?
Пропустите '-Wall', чтобы получить все предупреждения и' -H', чтобы получить включенные заголовки, 'gcc'. И я не уверен, что существует 'std :: strcmp' (кроме самого последнего стандарта C++ 11). –
, когда вы смотрите /usr/include/c++/4.2.1/cstring, вы видите, что он переопределяет strcmp и другие функции из string.h, чтобы быть в среде std, поэтому он должен * существовать. – kloop