在Ubuntu操作系统中,我已经下载了一个第三方共享库
mylibrary.so
并将其放置在/home/karnivaurus/Libraries
目录下。同时,我也将相关的头文件myheader.h
放在了/home/karnivaurus/Headers
目录下。现在,我想在我的C++代码中使用CMake来链接这个库。以下是我的CMakeLists.txt文件:cmake_minimum_required(VERSION 2.0.0)
project(DemoProject)
include_directories(/home/karnivaurus/Headers)
add_executable(demo demo.cpp)
target_link_libraries(demo /home/karnivaurus/Libraries/mylibrary)
然而,这让我收到了错误信息:
:-1: error: No rule to make target `/home/karnivaurus/Libraries/mylibrary', needed by `demo'. Stop.
发生了什么?
libmylibrary.so
吗?如果不是,你可以尝试在target_link_libraries()
中添加.so
扩展名,这可能有助于消除混淆。.so
扩展名,它会给我一个错误:无法找到-lmylibrary
。 - Karnivaurusadd_library
命令不是从源代码构建新的库吗?我已经有了编译好的mylibrary.so
文件... - Karnivaurus