在Mac OSX 10.10上安装Dlib for python时遇到问题

Trouble installing Dlib for python on Mac OSX 10.10

本文关键字:python 遇到 问题 for 安装 Mac OSX Dlib      更新时间:2023-10-16

我试图在我的计算机上安装dlib-18.16 for python(运行Mac OSX 10.10)。我已经安装了boost 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,并发现它们在python的anaconda安装中的一些.h文件中声明(当查看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