Я пытаюсь установить dlib-18.16 для python на моем компьютере (под управлением Mac OSX 10.10). У меня установлен надстройка Python, а также X11, но у меня возникли проблемы при запуске ./compile_dlib_python_module.bat, как указано после загрузки файлов.
Ошибки, которые я получаю, многочисленны, но выглядят примерно так
[ 1%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/fonts.o
In file included from /Users/xxx/Downloads/dlib-18.16/dlib/gui_widgets/fonts.cpp:14:
/Users/xxx/Downloads/dlib-18.16/dlib/gui_widgets/nativefont.h:313:21: error: use
of undeclared identifier 'XAllocColor'
XAllocColor(d, cmap, &xcol);
Это продолжается некоторое время и заканчивается
/Users/xxx/Downloads/dlib-18.16/dlib/gui_widgets/nativefont.h:400:21: error: use
of undeclared identifier 'XFillRectangle'
XFillRectangle(d, pix, gc, 0, 0, width, height);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [dlib_build/CMakeFiles/dlib.dir/gui_widgets/fonts.o] Error 1
make[1]: *** [dlib_build/CMakeFiles/dlib.dir/all] Error 2
make: *** [all] Error 2
Я проверил некоторые из отсутствующих функций, таких как XFillRectangle, и обнаружил, что они объявлены в некоторых файлах .h в установке python для anaconda (при просмотре файлов dlib_build установщик, похоже, обнаружил установку anaconda). У кого-нибудь есть идеи как это исправить?
Я понял, что мне нужно зайти в файл CMakeCache.txt и вручную изменить путь X11 с anaconda на usr / X11, поскольку в версиях файлов X11 .h для anaconda отсутствовали некоторые из этих функций XQuartz. Теперь все работает.
У меня была эта проблема с версией в PyPi (19.4.0).
Установка прямо из источника (19.4.99Кажется, работает.
Так что что-то между этими двумя версиями решило это.
Команды для установки из источника:
git clone https://github.com/davisking/dlib.git
cd dlib
pip install .
К вашему сведению, вот файлы Xlib.h, которые у меня есть в моей системе, поскольку предполагается, что они выбирали другую версию XLib.h, в которой не было этих символов.
Запуск на OS-X 10.11.4 с Python 2.7. У меня определенно установлен XQuartz.
$ mdfind -name Xlib.h
/usr/local/Cellar/dlib/19.4/share/doc/dlib/docs/dlib/gui_core/xlib.h.html
/usr/local/Cellar/dlib/19.4/include/dlib/gui_core/xlib.h
/Users/<username>/Workspace/dlib/dlib/gui_core/xlib.h
/System/Library/Frameworks/Tk.framework/Versions/8.4/Headers/X11/Xlib.h
/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/Xlib.h
/opt/X11/include/X11/Xlib.h
/opt/X11/include/cairo/cairo-xlib.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tk.framework/Versions/8.4/Headers/X11/Xlib.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/Xlib.h