osqp-eigen
osqp-eigen copied to clipboard
error while loading shared libraries: libosqp.so
Hello, developer: I get this error:error while loading shared libraries: libosqp.so: cannot open shared object file: No such file or directory
This is my cmakelist.txt:
cmake_minimum_required(VERSION 3.23)
project(learn_ws)
set(CMAKE_CXX_STANDARD 17)
find_package(Eigen3 REQUIRED)
find_package(osqp REQUIRED)
find_package(OsqpEigen REQUIRED)
set(SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/src/eigen_learning.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/osqp_learning.cpp
)
set(HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/include/eigen_learning.h
${CMAKE_CURRENT_SOURCE_DIR}/include/osqp_learning.h
)
include_directories(
include
${CMAKE_CURRENT_SOURCE_DIR}/include
)
include_directories(${EIGEN3_INCLUDE_DIR})
add_executable(learn_ws main.cpp ${HEADERS} ${SOURCES})
target_link_libraries(learn_ws
osqp #####链接osqp库,因为OsqpEigen需要osqp库
OsqpEigen #####链接OsqpEigen库
# /usr/local/lib/libOsqpEigen.so
# /usr/local/lib/libosqp.so
)
but when I add "/usr/local/lib/libosqp.so" in target_link_libraries, this error is fix, I want to know why, and how to use this lib just need add code " find_package(osqp REQUIRED)" in cmakelist.txt, rather than "/usr/local/lib/libosqp.so"
@Julius-ZCJ,
I recommend updating the target_link_libraries section in your CMakeLists.txt file as follows:
target_link_libraries(learn_ws PUBLIC OsqpEigen::OsqpEigen)
Indeed, @Julius-ZCJ can you try @siddharthdeore fix? Thanks!
@Julius-ZCJ did you tried the proposed fix? Thanks!