我正在构建opencv-3.1.0
,我想使用ffmpeg
,它安装在自定义路径/media/sdcard/usr/lib
,/media/sdcard/usr/include
中。
通常,链接器会给我一个错误:
/usr/lib/gcc/i586-poky-linux/4.9.1/../../../../i586-poky-linux/bin/ld: cannot find -lavcodec
所以我给了cmake一些额外的标志:-DCMAKE_SHARED_LINKER_FLAGS="--library-path /media/sdcard/usr/lib", DCMAKE_INCLUDE_PATH=/media/sdcard/usr/include
。
Include似乎根本不起作用,但对于链接器标志,cmake
给了我以下输出:
Linker flags (Release): --library-path /media/sdcard/usr/lib
Linker flags (Debug): --library-path /media/sdcard/usr/lib
但是当我试图运行make
时,我收到了一个错误消息:
c++: error: unrecognized command line option '--library-path'
我的ld知道'--library-path'标志并找到必要的库,例如如果我跑
ld -lavcodec --library-path /media/sdcard/usr/lib --verbose
它给了我
attempt to open /media/sdcard/usr/lib/libavcodec.a succeeded
我可能缺少对整个过程的一些基础理解。