我用library.h和library.cpp创建了一个共享库。然后编写了一个CMakeLists.txt文件,将其构建为共享库。
的CMakeLists.txt
/home/user/projects/test_lib/bin/libtest_pro.so
在构建库之后,我能够将.so文件作为/home/user/projects/testproject
然后我尝试将创建的库链接到cmake_minimum_required(VERSION 3.10)
project(testproject)
set(CMAKE_CXX_STANDARD 11)
link_directories(
/home/user/projects/test_lib/bin
)
add_executable(testproject main.cpp)
target_link_libraries (testproject test_pro)
CMakeLists.txt
main.cpp
它成功构建了testproject(ldd命令显示它已正确链接),但我无法使用我在其中创建的库。
在我试过的#include "library.h"
中,
#include "test_pro"
#include <test_pro>
#include <test_pro/library.h>
fatal error: xxx: No such file or directory
但是以上所有都给出了构建失败({{1}})。我如何使用这个创建的库?
答案 0 :(得分:1)
就像您设置link_directories()
一样,您必须指定include_directories()
。建议不要使用link_directories()
,而是将库的绝对路径传递给target_link_libraries()
。