dlib编译出错以及解决方法

想在C++代码里用机器学习的方法,就找到dlib这个C++的机器学习的library。按照下边官网的方法编译例子出现了关于X11的error。

cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release
</pre><pre name="code" class="plain"><p class="p1"><span class="s1"><strong>dlib-19.1/dlib/gui_widgets/nativefont.h:313:21: </strong></span><span class="s2"><strong>error: </strong></span><span class="s1"><strong>use of undeclared identifier 'XAllocColor'</strong></span></p><p class="p1"><span class="s1">                    XAllocColor(d, cmap, &xcol);</span></p>


在stackoverflow上很多人问到这个问题,主要有3种方法。

  1. 修改build下边CMakeCache.txt里的X11路径,把anaconda/include改成/usr/X11
  2. 修改dlib里边CMakeLists.txt里下边的这部分
    find_path(xlib_path Xlocale.h
                      PATHS 
                      /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include
                      /usr/X11/include
                      /opt/local/include
                      PATH_SUFFIXES X11
                      )
    
    改成
    find_path(xlib_path Xlib.h
               PATHS
               /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include
               /usr/wherever/you/found/the/right/one
               PATH_SUFFIXES X11
               )

  3. 彻底删除/anaconda/include/X11/这个文件夹
除了以上三种方法还有人说重装XQarts。在我的机器上只有第三种方法能编译过(虽然有很多warning)。

阅读更多
个人分类: 机器学习
上一篇octave高画质图像处理字节数限制问
下一篇fftw使用方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭