2011-10-12 186 views
1

我是ARM的新手。我試圖交叉編譯opencv 2.3.1爲ARM9板與Linux 2.3 生成cmake文件後,當我讓我得到的錯誤如下交叉編譯opencv for arm

桌面/ opencv/opencv-2.3.1/modules/flann /包括/opencv2/flann/dist.h:函數'T cvflann :: abs(T)[with T = long double]':

OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist .H:63:錯誤:* [模塊/ FLANN/CMakeFiles/opencv_flann.dir/SRC/precomp.obj]錯誤1

: 'fabsl' 在此範圍

化妝[2]未聲明

化妝[1]:* [模塊/ FLANN/CMakeFiles/opencv_flann.dir /所有]錯誤2

化妝:* [全部]錯誤2

感謝名單所有

回答

1

雙和long double在ARM上是一樣的。它看起來像fabsl剛從libstdC++中移除。

編譯我的ARM板時,我遇到了同樣的問題。用fabs()代替fabs()在 /OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h

這會得到事情編譯,我還沒有測試過構建,因爲我仍然首先交叉編譯其他代碼。祝你好運!

約翰