首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clion上的目标链路特征库失败

Clion上的目标链路特征库失败
EN

Stack Overflow用户
提问于 2022-09-18 18:25:14
回答 1查看 32关注 0票数 -1

我正在尝试将特征链接到我在clion上的项目,但是打印了以下错误:

这是我的cmakelist文件,所有链接库的尝试:

代码语言:javascript
复制
cmake_minimum_required(VERSION 2.8.3)
project(planner_standalone_grasp)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-diagnostics-color")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")

# find all cpp files in currect directory (where CMakeLists.txt is)
file(GLOB SOURCE_FILES FILES_MATCHING PATTERN "./src/*.cpp")


include_directories(src)


add_executable(${PROJECT_NAME} main.cpp ${SOURCE_FILES})


set(EXE_LIBS
    ctop_common
    ctop_log
    ctop_util

    eigen
    crl
    crl-algorithm
    crl-loader
    crl-tsplib
    yaml-cpp
)


target_link_directories(${PROJECT_NAME} PUBLIC lib/comrob/lib/)
target_link_directories(${PROJECT_NAME} PUBLIC ctop/common/cmake-build-debug/)
target_link_directories(${PROJECT_NAME} PUBLIC ctop/log/cmake-build-debug/)
target_link_directories(${PROJECT_NAME} PUBLIC ctop/util/cmake-build-debug/)


set(EIGEN_DIR "/usr/local/include/Eigen/")
include_directories(${EIGEN_DIR})


find_package (Eigen3 3.3 REQUIRED NO_MODULE)
target_link_libraries (${PROJECT_NAME} Eigen3::Eigen)

target_link_directories(${PROJECT_NAME} PUBLIC lib/eigen/Eigen/)
target_link_directories(${PROJECT_NAME} PUBLIC /usr/local/include/Eigen/)
target_link_directories(${PROJECT_NAME} PUBLIC /usr/local/include/eigen3/Eigen/)


target_link_libraries(${PROJECT_NAME} ${EXE_LIBS})

该项目中的所有其他库都已成功链接,除了特征--这是错误消息:

代码语言:javascript
复制
[6/6] Linking CXX executable planner_standalone_grasp
FAILED: planner_standalone_grasp 
: && /usr/bin/c++ -O0 -fno-diagnostics-color -std=c++17 -g -rdynamic CMakeFiles/planner_standalone_grasp.dir/main.cpp.o CMakeFiles/planner_standalone_grasp.dir/src/Grasp.cpp.o CMakeFiles/planner_standalone_grasp.dir/src/WallEdge.cpp.o CMakeFiles/planner_standalone_grasp.dir/src/WallGraph.cpp.o CMakeFiles/planner_standalone_grasp.dir/src/pt2eigen.cpp.o -o planner_standalone_grasp -L/home/sim/CLionProjects/Test/lib/comrob/lib   -L/home/sim/CLionProjects/Test/ctop/common/cmake-build-debug   -L/home/sim/CLionProjects/Test/ctop/log/cmake-build-debug   -L/home/sim/CLionProjects/Test/ctop/util/cmake-build-debug   -L/home/sim/CLionProjects/Test/lib/eigen/Eigen   -L/usr/local/include/Eigen   -L/usr/local/include/eigen3/Eigen -Wl,-rpath,/home/sim/CLionProjects/Test/lib/comrob/lib:/home/sim/CLionProjects/Test/ctop/common/cmake-build-debug:/home/sim/CLionProjects/Test/ctop/log/cmake-build-debug:/home/sim/CLionProjects/Test/ctop/util/cmake-build-debug:/home/sim/CLionProjects/Test/lib/eigen/Eigen:/usr/local/include/Eigen:/usr/local/include/eigen3/Eigen  -lctop_common  -lctop_log  -lctop_util  -leigen  -lcrl  -lcrl-algorithm  -lcrl-loader  -lcrl-tsplib  -lyaml-cpp && :
/usr/bin/ld: cannot find -leigen
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2022-09-18 19:01:46

根据我的经验,这个问题有两个可能的原因:

  1. 没有一个名为libeigen的库。在提供的目录(target_link_directories中的目录)中。也许这条路错了?您应该知道,库文件通常不在repository...
  2. there的包含目录中,而是一个名为这样的库,尽管它是为错误的平台编译的.也就是说,如果要为windows生成可执行文件,则不能链接为linux编译的库。通常您可以找到源代码并自己编译。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73765402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档