2016-12-22 32 views
1

顔の目印の検出にDlibを使用したいと思って、macOS Sierraにインストールしようとしました。私はmain GitHub Repo for dlibの指示に従った。macOS - dlibをインストールする際のトラブル

私は最初のexamplesフォルダに入った後、エラーなし、次を実行:バック親ディレクトリに戻す

mkdir build; cd build; cmake .. ; cmake --build . 

、私は次のことを実行する:

sudo python2.7 setup.py install 

これは後20+エラーが発生完了する38%:

[ 35%] Building CXX object dlib_build/CMakeFiles/dlib.dir/timer/timer.cpp.o 
[ 35%] Building CXX object dlib_build/CMakeFiles/dlib.dir/stack_trace.cpp.o 
[ 36%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/fonts.cpp.o 
In file included from /Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/fonts.cpp:14: 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:313:21: error: use of undeclared identifier 'XAllocColor' 
        XAllocColor(d, cmap, &xcol); 
        ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:319:36: error: use of undeclared identifier 'XmbTextExtents'; did you mean 'XTextExtents'? 
          return XmbTextExtents(fs, str, len, ink, logical); 
            ^~~~~~~~~~~~~~ 
            XTextExtents 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:318:43: note: 'XTextExtents' declared here 
         inline static int XTextExtents (XFontSet fs, char *str, int len, XRectangle *ink, XRectangle *logical){ 
             ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:322:36: error: use of undeclared identifier 'XwcTextExtents'; did you mean 'XTextExtents'? 
          return XwcTextExtents(fs, str, len, ink, logical); 
            ^~~~~~~~~~~~~~ 
            XTextExtents 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:321:43: note: 'XTextExtents' declared here 
         inline static int XTextExtents (XFontSet fs, wchar_t *str, int len, XRectangle *ink, XRectangle *logical){ 
             ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:325:29: error: use of undeclared identifier 'XmbDrawString'; did you mean 'XDrawString'? 
          XmbDrawString(d, w, fs, gc, x, y, str, num_bytes); 
          ^~~~~~~~~~~~~ 
          XDrawString 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:324:44: note: 'XDrawString' declared here 
         inline static void XDrawString(Display *d, Window w, XFontSet fs, GC gc, int x, int y, char *str, int num_bytes){ 
             ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:328:29: error: use of undeclared identifier 'XwcDrawString'; did you mean 'XDrawString'? 
          XwcDrawString(d, w, fs, gc, x, y, str, num_bytes); 
          ^~~~~~~~~~~~~ 
          XDrawString 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:327:44: note: 'XDrawString' declared here 
         inline static void XDrawString(Display *d, Window w, XFontSet fs, GC gc, int x, int y, wchar_t *str, int num_bytes){ 
             ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:334:29: error: use of undeclared identifier 'XOpenDisplay' 
         d = XOpenDisplay(NULL); 
          ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:337:33: error: use of undeclared identifier 'XOpenDisplay' 
          d = XOpenDisplay(":0.0"); 
           ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:369:29: error: use of undeclared identifier 'XFreeFontSet' 
          XFreeFontSet(d, fs); 
          ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:371:30: error: use of undeclared identifier 'XCreateFontSet' 
         fs = XCreateFontSet(d, fontset, &mlist, &mcount, &def_str); 
          ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:376:34: error: use of undeclared identifier 'XExtentsOfFontSet' 
         extent = XExtentsOfFontSet(fs); 
           ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:379:25: error: use of undeclared identifier 'XFreeStringList'; did you mean 'XwcFreeStringList'? 
         XFreeStringList(mlist); 
         ^~~~~~~~~~~~~~~ 
         XwcFreeStringList 
/Users/Ajay/anaconda/include/X11/Xutil.h:777:13: note: 'XwcFreeStringList' declared here 
extern void XwcFreeStringList(
      ^
In file included from /Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/fonts.cpp:14: 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:379:41: error: cannot initialize a parameter of type 'wchar_t **' with an lvalue of type 'char **' 
         XFreeStringList(mlist); 
             ^~~~~ 
/Users/Ajay/anaconda/include/X11/Xutil.h:781:1: note: passing argument to parameter here 
); 
^ 
In file included from /Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/fonts.cpp:14: 
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:388:29: error: use of undeclared identifier 'XFreeGC' 
          XFreeGC(d, gc); 
          ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:389:29: error: use of undeclared identifier 'XFreePixmap' 
          XFreePixmap(d, pix); 
          ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:393:103: error: use of undeclared identifier 'XDefaultDepth' 
         pix = XCreatePixmap(d, DefaultRootWindow(d), pix_width_prev, pix_height_prev, XDefaultDepth(d, DefaultScreen(d))); 
                            ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:394:30: error: use of undeclared identifier 'XCreateGC' 
         gc = XCreateGC(d, pix, 0, NULL); 
          ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:398:21: error: use of undeclared identifier 'XSetForeground' 
        XSetForeground(d, gc, backcolor); 
        ^
/Users/Ajay/Framework_libraries/dlib/dlib/gui_widgets/nativefont.h:399:21: error: use of undeclared identifier 'XSetBackground' 
        XSetBackground(d, gc, backcolor); 
        ^
/Users/Ajay/Framework_libraries/dlib/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.cpp.o] Error 1 
make[1]: *** [dlib_build/CMakeFiles/dlib.dir/all] Error 2 
make: *** [all] Error 2 
error: cmake build failed! 

これを少し見て、私はth私はすべての作業をするために変更する必要がある小さなパス(Pythonに)があると感じています。参照a similar problemを参照して、彼はCMakeCache.txt内のいくつかのパスを変更しましたが、私はどのライン/パーツが正確にはわかりません。さらに、4つのCMakeCache.txtファイルがあります。どのようなものがあれば変更する必要がありますか?

Ajays-MacBook-Pro:dlib Ajay$ find . -name "CMakeCache.txt" 
./examples/build/CMakeCache.txt 
./examples/build/cpp11_test_build/CMakeCache.txt 
./tools/python/build/CMakeCache.txt 
./tools/python/build/cpp11_test_build/CMakeCache.txt 

他に解決策はありますか?私は何をすべきか?どんな助けもありがとう!

+1

XQuartzをインストールしましたか? –

+0

あなたはこれまで何が問題になっていたのですか?私は同じ問題を抱えている – redrubia

答えて

0

私が原因で自分のコンピュータにインストールされている複数のPythonのバージョンのDLIBを使うことができませんでした。 Macbook Pro(2014)にはpython2.7.10があらかじめインストールされており、ではなくを更新する必要があります。新しいバージョンが必要な場合は、v2.7と一緒にインストールする必要があります。私はanacondaを使い、私のコンピュータにpython3.5をインストールしました。しかし、これは問題に出てくる問題の源泉と思われた。 Anacondaとpython3.5がアンインストールされると、Dlibはエラーなしで作業を開始しました。その理由は不明ですが、まだまだ満足できる解決策です。

1

here

かいつまんで私の答えを参照してください、あなたはこの問題even with xQuartz installedを得ることができます。

Gitの最新バージョンは動作しているようですが、PyPiリポジトリは更新されていません。

はそれまでは、これらのコマンドを使用します。

git clone https://github.com/davisking/dlib.git 
cd dlib 
pip install . 
関連する問題