c – 在CMake中包含共享库(.so)
发布时间:2020-12-16 07:05:44 所属栏目:百科 来源:网络整理
导读:我一直试图用CMake包含不同类型的库. .a .dylib .so 我终于得到了.a和.dylib来处理这段代码. find_library(libname NAMES libcef.dylib PATHS ${libname_PATH}) 与此一起,在我的add_executable下面初始化我的所有文件的构建. target_link_libraries(${PROJEC
我一直试图用CMake包含不同类型的库.
> .a 我终于得到了.a和.dylib来处理这段代码. find_library(libname NAMES libcef.dylib PATHS ${libname_PATH}) 与此一起,在我的add_executable下面初始化我的所有文件的构建. target_link_libraries(${PROJECT_NAME} ${libname}) 但是,我尝试在.so文件上使用相同的代码,但它似乎不起作用. 当我尝试构建时,我从cmake得到这个声明. Target "project name" links to item -- path of file -- which is a full-path but not a valid library file name. 我不确定这是否是处理.so文件的正确方法,或者我甚至不完全理解.so文件是什么.任何意见和/或澄清将非常感激. 编辑: 理论 – 我的理论是因为它在库名称前面没有lib,它叫做ffmpegsumo.so.但是,当我尝试重命名它时,文件名仍然保存到变量名称中非常奇怪. 解决方法
同样适用于.so文件,只需确保您提供的${libname_PATH}中存在所需的.so文件.
find_library以相同的方式处理所有类型(.a / .so / .dylib / .dll).问题可能如下 – 路径设置不正确 – 你的图书馆似乎没有效果 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |