【发布时间】:2020-07-13 16:55:50
【问题描述】:
我创建了自定义共享对象,其中包含一个函数 - void hello();,它只打印“hello”。
我现在正尝试在另一个项目中使用 SO,但我无法使用它(更有可能 - 我不知道如何使用)
test_lib.so 文件与我的main.c 相同。
我正在尝试将 lib 包含在我的 CMakeLists.txt 中,如下所示:
cmake_minimum_required(VERSION 3.12)
project(test2 VERSION 1.0.0)
find_library(MYLIB test_lib.so)
add_executable(test main.c)
target_link_libraries(test MYLIB)
但是当我尝试在我的 main.c 上使用 hello(); 时,我收到了错误:
undefined reference to `hello'
【问题讨论】:
-
有关在 CMake 项目中包含外部库(例如
.so)的方法,请参阅对以下问题的回复:CMake link to external library
标签: c cmake shared-libraries