在Mac OSX 10.10上安装Dlib for python时遇到问题
Trouble installing Dlib for python on Mac OSX 10.10
我试图在我的计算机上安装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
相关文章:
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- Pybind11:将元组列表从Python传递到C++
- 编译包含字符串的代码时遇到问题
- 如何在c++中使用引用实现类似python的行为
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 递归列出所有目录中的C++与Python与Ruby的性能
- IPC使用多个管道和分支进程来运行Python程序
- 从python中调用C++函数并获取返回值
- 遇到新行时,有没有办法停止istream_iterator
- Python 3.7 和 excess_args 的 SWIG 问题
- Python中的for循环与C++有何不同
- 使用Pybind11向Python公开Eigen::张量
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 为什么我在这里遇到分段错误?[Python ctypes]
- 在 Python 中使用 OpenCV 将打包的 BGRA 图像缓冲区转换为 RGB 时遇到问题
- 使用前增量和后增量运算符将 c++ 转换为 python 时遇到问题
- Boost Python :导入模块时遇到问题
- 将Python算法翻译成C++时遇到问题
- 在Mac OSX 10.10上安装Dlib for python时遇到问题