如何正确添加链接器标志到cmake?

时间:2016-07-29 07:23:05

标签: opencv makefile ffmpeg cmake linker-flags

我正在构建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

我可能缺少对整个过程的一些基础理解。

0 个答案:

没有答案