1. 程式人生 > >MacOS 安裝 convnet的幾個問題

MacOS 安裝 convnet的幾個問題

1. 類似fatal error: 'jpeglib.h' file not found或者 X11/Xlib.h找不到這種檔案找不到的問題。

  原因:該檔案引入路徑不對,可能是電腦上不存在這類檔案,更多可能是該類檔案指向不對。

   解決方法:此時一般需要先找出該檔案所在位置,然後再建立相應的對映,如軟連結ln -s XXX XXX這種做法

2.編譯convnet時,報uint沒定義這種錯誤

    原因:某個標頭檔案定義類uint這種型別,但是沒有生效,可能定義在#ifdef這種條件下,因為ifdef的原因沒有生效。這種時候可能不會報錯資訊會指向libcudamat_conv.so類似檔案,但實質性錯誤不在這,注意認真檢視錯誤資訊。

     解決方法:針對性對找到標頭檔案,將#ifdef這種判斷條件去除,直接定義uint等

3.cmake安裝opencv報錯

Linking CXX shared library ../../lib/libopencv_cudev.dylib
ld: warning: directory not found for option '-L/Users/
xxx/Downloads/opencv-3.0.0-beta/-Wl,/usr/local/cuda'
ld: can't map file, errno=22 file '/usr/local/cuda' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libopencv_cudev.3.0.0.dylib] Error 1
make[1]: *** [modules/cudev/CMakeFiles/opencv_cudev.dir/all] Error 2
make: *** [all] Error 2

  原因:因為路徑不一致導致連結出錯

  解決方法:有人這麼做:http://stackoverflow.com/questions/23327694/compiling-opencv-2-4-9-with-cuda-on-mavericks和這種http://blogs.wcode.org/2014/10/howto-install-build-and-use-opencv-macosx-10-10/

   我妥協了該種做法:brew install opencv。。。

4.在convnet資料夾下,使用make命令,找不到X11的很多資料

   解決方法:安裝XQuartz,即徹底安裝X11.

5./usr/include/ucontext.h:43:2: error: The deprecated ucontext routines require _XOPEN_SOURCE to be defined
   #error The deprecated ucontext routines require _XOPEN_SOURCE to be defined

 解決方法:http://duriansoftware.com/joe/PSA%3a-avoiding-the-%22ucontext-routines-are-deprecated%22-error-on-Mac-OS-X-Snow-Leopard.html