Я пытаюсь собрать библиотеку с именем Ogre3d v1.8, используя gcc 4.7 на MacOSX 10.6. Я попытался установить версию gcc как с MacPorts, так и с веб-страницы gFortran. У обоих одинаковая проблема, и я не могу найти много информации об этом в интернете.
Моя проблема в том, что я получаю эту ошибку:
Scanning dependencies of target OgreMain
[ 0%] Building CXX object OgreMain/CMakeFiles/OgreMain.dir/src/OgreAlignedAllocator.cpp.o
In file included from /usr/local/gcc-4-7-svn/lib/gcc/x86_64-apple-darwin10/4.7.0/include/c++/bits/postypes.h:42:0,
from /usr/local/gcc-4-7-svn/lib/gcc/x86_64-apple-darwin10/4.7.0/include/c++/bits/char_traits.h:42,
from /usr/local/gcc-4-7-svn/lib/gcc/x86_64-apple-darwin10/4.7.0/include/c++/string:42,
from /Users/parwrange/Desktop/ogre/ogre_src_v1-8-1/OgreMain/include/OgrePrerequisites.h:33,
from /Users/parwrange/Desktop/ogre/ogre_src_v1-8-1/OgreMain/include/OgreArchive.h:31,
from /Users/parwrange/Desktop/ogre/ogre_src_v1-8-1/OgreMain/include/OgreStableHeaders.h:41,
from /Users/parwrange/Desktop/ogre/ogre_src_v1-8-1/OgreMain/src/OgreAlignedAllocator.cpp:28:
/usr/local/gcc-4-7-svn/lib/gcc/x86_64-apple-darwin10/4.7.0/include/c++/cwchar:46:19: fatal error: wchar.h: No such file or directory
compilation terminated.
make[2]: *** [OgreMain/CMakeFiles/OgreMain.dir/src/OgreAlignedAllocator.cpp.o] Error 1
make[1]: *** [OgreMain/CMakeFiles/OgreMain.dir/all] Error 2
make: *** [all] Error 2
Другими словами это выглядит как заголовочный файл wchar.h отсутствует.
Я смог собрать другие библиотеки с установкой gcc 4.7. Так что я предполагаю, что это что-то особенное с Ogre3d v1.8. Может быть, что-то делать с порядком включения. Но так как у меня проблемы с поиском других людей с этой проблемой, я надеюсь, что у кого-то здесь есть несколько хороших советов о том, что делать.
Сегодня у меня была та же проблема, но в другом проекте, чем в Ogre. Возможно ли, что вы используете 64-битную ОС и компилируете исполняемый файл в 32-битной версии?
Если это так, то вам нужен пакет glibc-devel (или эквивалентно-зависит от разновидности Unix) в 32-битной версии.
Попробуйте сделать что-то подобное:
locate wchar.h //this will return some paths to wchar.h
//like /usr/include/wchar.h
//use this path:
rpm -qf /usr/include/wchar.h //this will return package name that includes the file
yum search 'package-name'
У вас должен быть пакет в версии x86_64 и i386 / i686. Если у вас есть только один из них, вам нужно установить второй.
Кстати, я не уверен, является ли это glibc-devel, glibc-headers или каким-либо другим именем, потому что у меня была эта проблема несколько раз, с разными файлами, но в целом это способ решить проблему.
Других решений пока нет …