http://tech.techweb.com.cn/viewthread.php?tid=239096
经过几天的努力(快一个星期了。),终于把OPENCV装到LINUX下并且里边的程序可以正常使用了。本来就应该可以顺利完成的东西,不过,其中遇到很多困难也是不争的事实。 / N3 R+ S; Y8 ]2 z; Q, I' q4 z: G5 X 总结以下几点注意事项,希望对以后的工作有所帮助:(按照OPENCV网站上的步骤安装会出现问题) & r- A% x. a" F, w: q \0 c Q5 }- x% W/ Q1.安装RH9时记得把GTK+安装上,否则,OPENCV里边所有程序是执行不了的。- Q4 s3 I) h4 Y {0 l 1 c l3 G- S. X9 U1 z! d 2.记得修改/etc/ld.so.conf 3 e! z+ C9 [3 ^, ~添加一行/usr/local/lib ) g0 S% W/ n8 E9 e* g6 j0 a! S5 c1 I # ldconfig (root用户) 2 l% z6 \! W e' @" }& X9 s/ m' B/ s% h! h f" W+ y 然后将/usr/local/lib/pkg-config中的opencv.pc 拷贝到/usr/lib/pkg-config中,(如果不做这步,根本编译不起) : `! i& T6 m1 r8 t& h0 H% n/ E8 N7 c# l( j! W* f, f% v2 ^ 可以采用这个操作7 c! w* m- X+ l& m5 ]# Y" P # cp /usr/local/lib/pkg-config/opencv.pc /usr/lib/pkg-config5 O9 U' m/ t" T; i3 O
- R0 I1 h; [ g3. congfigure的时候,输入./configure --without-python --enable-static8 W6 a! I. \3 ^* D$ F& [" X 0 A5 w9 R, P/ B1 s, ^ 注释:在我的电脑上,如果没有第一个WITHOUT,MAKE的时候就会出错,无奈;第二个是为了在编译程序的时候生成静态连接库文件(具体怎么生成我还没搞懂,新手。。。) & q8 O7 L! I$ S& X* }5 Q ( C/ w- P# P9 a8 t" Y. b# v) q之后,出现的提示信息是:. i4 J7 A$ B0 P% k ./configure, m- m" E- y7 C8 c3 b8 T checking build system type... i686-pc-linux-gnu8 d* Y5 {- \8 U I checking host system type... i686-pc-linux-gnu+ ]* u/ c. P3 g. e8 b! X9 X3 L$ @ checking target system type... i686-pc-linux-gnu# O& [/ X- [! { O0 u checking for a BSD-compatible install... /usr/bin/install -c, P% m3 \) g2 A checking whether build environment is sane... yes / z1 B. V$ Z; Y4 Ychecking for gawk... no* \- D u' G: ?. k. O2 G ... ... 7 c& k; _% N9 p) W' e 3 q9 ?5 v2 ]# T7 A! X' `General configuration ==============" K8 X7 @8 [$ c, ~/ J) s3 f/ } ; R n$ L6 `! w% a' W8 G Compiler: g++ 6 D) |7 S- X' G9 _ ^0 Z3 z% E1 V3 P: E% S) o/ ~9 A4 d! Z CXXFLAGS: -Wall -fno-rtti -pipe -O3 -g -march=i686 -ffast-math -fomit-frame-pointer' `# }* x5 @; W- p) c 8 k1 D- W [& L; O8 J7 ? Install path: /usr/local 9 g2 y E8 {* A' X" V6 L2 A% P$ E5 }$ B. p2 d! y6 v( Q1 M7 ~7 Z; u HighGUI configuration ================== : M6 H% \4 [4 ~# c3 ~; j7 X4 W0 h7 k$ q" n7 \* c5 g Windowing system --------------+ @2 D' B8 h; H. d. j; I Use Carbon / Mac OS X: no ) B5 R' A ^' ^' rUse gtk+ 2.x: yes+ v! T# @ Q0 @4 X( e Use gthread: yes & f! j2 k' @# p: ^; L' d u" h9 O3 Q0 G/ p# p. Z! [' u- z# S Image I/O ---------------------9 \7 ~9 @8 }! C: J. ~5 A0 }+ A Use libjpeg: yes % ] e; q3 I3 c" O6 u0 CUse zlib: yes & v* S' k# q+ s6 i" N* _Use libpng: yes) q' e9 D5 h4 X Use libtiff: yes . ~* @/ T! [) |/ y8 ]/ ]Use libjasper: no5 o& e8 s; B. ~4 y( @' ^ Use libIlmImf: no. ? Z& l1 g0 Y6 H- l* c
8 ^, C: r# [* Z2 @Video I/O ---------------------. z" X+ s, S) `2 v Use QuickTime / Mac OS X: no1 f1 U W# c6 M' @# z4 W Use xine: no3 L3 M: k. d" W/ e& a Use ffmpeg: no ! r* |: \3 ~: t( g( Q; e5 eUse dc1394 & raw1394: no 2 N6 z- e2 Q+ [2 E( G, T' s) GUse v4l: yes " w/ s' s4 T$ T: s/ Y/ E9 ]Use v4l2: no , s, j8 W+ `# B) v8 z% ^ + K% I) [. T" {' hWrappers for other languages =============- O! W" Y0 `" l% Q9 K
" F6 I' W, e9 b3 C9 K8 |# B, |SWIG % P" ?; D/ j' |# |/ C2 O0 _Python yes 4 h! R: `+ `3 X' d6 z6 n' } h1 T+ Z& [+ W% r: c+ D0 w5 f2 g Additional build settings ============ 8 i' _& k9 v W5 j 4 m8 z8 H$ B S4 l; G) e1 oBuild demo apps yes ; J) S) [2 q2 ]. B3 D8 X0 `$ Y6 |& A( S/ G2 E8 `) J$ U: L3 k6 L& T Now run make ... ( [! B* K5 j8 u6 t$ w2 ^" q' Q/ c# P" a 与网上的不太一样,也许今后工作会因为这个问题而导致无法前进。. E1 I o" {& t+ d- h+ ~9 P2 E ) M! l+ {2 X( e5 ~+ K 4.还要注意把OPENCV下的头文件,就是包含cv.h和highgui.h这个2个文件的那个目录里边的所有文件(记得是/usr/local/include/opencv),都拷贝到/usr/include下(别问我为什么,反正不拷贝,编译程序时提示找不到那2个头文件) * i! G! `6 y0 d* L3 `8 @3 k5 V5 i& o 5.编译链接文件的方法:* w B# G4 `$ D1 |
8 ~3 L' L9 T# M: |- _" y以编辑cvtest.c文件为例子(因为highgui中采用了c++,所以一定要用g++编译才可以) ' ]( r. T+ E0 ^1 m) l6 {( k0 ~: q$ l a A. g++ `pkg-config --cflags opencv` -o cvtest cvtest.c `pkg-config --libs opencv`5 W# p: M( \/ I( r! t
' W2 m* A t' T% @+ ^3 _. M( CB. 编译: g++ `pkg-config --cflags opencv` -c cvtest.c , g8 M# `4 o8 L% ^5 e) Y5 @, Y( B 0 o3 B0 {8 T+ L链接: g++ `pkg-config --libs opencv` -o cvtest cvtest.o 2 m- ^1 |% S6 b% @ 8 N# y$ p' [1 U0 {( m) C注意:g++ 后边那个东西是 ` ,就是ESC下边那个键。 |