尝试使用CMake查找共享库

时间:2011-07-07 14:24:34

标签: cmake

我正在尝试使用CMake为我的项目找到avformat库。我的第一个选择是使用FIND_PACKAGE(...)但我在$ CMAKE_ROOT / Modules中找不到任何CMake模块。现在我正在尝试使用FIND_LIBRARY(...)找到它。

该库位于/usr/lib/libavformat.so.52

这是我找到它的CMake代码:

find_library(AVFORMAT_LIBRARY avformat PATHS /usr/lib DOC "avformat library")
if(NOT AVFORMAT_LIBRARY)
    message(FATAL_ERROR "Library avformat required, but not found!")
endif(NOT AVFORMAT_LIBRARY)

然而,我找不到它。为什么你认为那是?

我可以输入特定的库名称(即libavformat.so.52),但这会将代码绑定到特定版本,这是我不想要的。

编辑:我刚刚尝试输入确切的库名libavformat.so.52,但这也无效。 :S

你有什么建议?

谢谢。

1 个答案:

答案 0 :(得分:0)

所以我发现了问题所在。

如果你在aptitude / synaptic中搜索'avformat',你会得到一些结果但没有libavformat-dev。所以我觉得没有!但是,如果您搜索“libavformat”,则会出现库!我发誓我认为aptitude / synaptic做了正则表达式搜索,而不仅仅是开头。 -.-

现在一切正常! :d