小编Luc*_*cas的帖子

CMake链接错误(未定义引用)

我正在使用SSL-Vision软件.它有一个示例客户端,我一直试图从整个项目中分离出来.我找到了自己编辑客户端所需的资源,所以我只是从软件中复制它们并使用CMake构建我的客户端.

下面的项目结构已经简化,缩小了问题(我相信!).

.
??? CMakeLists.txt 
??? main.cc
??? build
?   ??? CMakeLists.txt
?   ??? messages_ssl_... (.cc/.h, 4 each)
??? src
    ??? CMakeLists.txt
    ??? (Other subdirs and sources/headers) 
Run Code Online (Sandbox Code Playgroud)

./CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)
项目(TestClient)

find_package(PkgConfig REQUIRED)
pkg_check_modules(QTCORE_PKG QtCore)
include_directories($ {QTCORE_PKG_INCLUDE_DIRS})

include(FindProtobuf)
find_package(Protobuf REQUIRED)
include_directories($ {PROTOBUF_INCLUDE_DIRS})

find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB_PKG glib-2.0)
include_directories($ {GLIB_PKG_INCLUDE_DIRS})

include_directories("src")add_subdirectory(src)

include_directories("build")add_subdirectory(build)

add_executable(clientTest clientTest.cc)

target_link_libraries(clientTest robocup_ssl_client messages_robocup_ssl_detection.pb messages_robocup_ssl_geometry.pb messages_robocup_ssl_wrapper.pb messages_robocup_ssl_refbox_log.pb netraw robocup_ssl_client protobuf QtCore)

./build/CMakeLists.txt:

add_library(messages_robocup_ssl_detection.pb SHARED messages_robocup_ssl_detection.pb.cc)

add_library(messages_robocup_ssl_refbox_log.pb SHARED messages_robocup_ssl_refbox_log.pb.cc)

add_library(messages_robocup_ssl_geometry.pb SHARED messages_robocup_ssl_geometry.pb.cc)

add_library(messages_robocup_ssl_wrapper.pb SHARED messages_robocup_ssl_wrapper.pb.cc)

这可能是一个缺少的#include的 …

cmake linker-errors robocup

14
推荐指数
3
解决办法
5万
查看次数

标签 统计

cmake ×1

linker-errors ×1

robocup ×1