/home/msi52/src/applications/newpackage/receiver.cpp:-1: ошибка: неопределенная ссылка на `gr :: bb60c :: source :: make () ' - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь использовать один из блоков из модуля OOT в другом пакете. Но это дает мне эту неопределенную ошибку ссылки на make.

Я предполагаю, что это относится к связыванию кода модуля OOT. Поэтому я попытался добавить модуль OOT в find_package в Cmakelists нового пакета и создал .pc для него, который будет найден модулем конфигурации pkg. Но все равно ошибка остается.

#include <bb60c/source.h>  //header for my OOT module

gr::bb60c::source::sptr     src1;  //the pointer declared in the .h file of my new package. It gives no error

src1=gr::bb60c::source::make(1e9, -20, -1, -1, 2, 18e6, false, false, 0, 0); //the make for the block in .cc file of my package which gives this error

find_package(Gnuradio-bb60c REQUIRED) // find package in the Cmake lists

/***Contents of .pc file created*****/
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(PC_BB60C bb60c)

FIND_PATH(
    BB60C_INCLUDE_DIRS
    NAMES bb60c/api.h
    HINTS $ENV{BB60C_DIR}/include
        ${PC_BB60C_INCLUDEDIR}
    PATHS ${CMAKE_INSTALL_PREFIX}/include
          /usr/local/include
          /usr/include
)

FIND_LIBRARY(
    BB60C_LIBRARIES
    NAMES gnuradio-bb60c
    HINTS $ENV{BB60C_DIR}/lib
        ${PC_BB60C_LIBDIR}
    PATHS ${CMAKE_INSTALL_PREFIX}/lib
          ${CMAKE_INSTALL_PREFIX}/lib64
          /usr/local/lib
          /usr/local/lib64
          /usr/lib
          /usr/lib64
)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BB60C DEFAULT_MSG BB60C_LIBRARIES BB60C_INCLUDE_DIRS)
MARK_AS_ADVANCED(BB60C_LIBRARIES BB60C_INCLUDE_DIRS)
/************************************/

Я ожидаю, что make будет вызвана без какой-либо ошибки. Код в настоящее время не компилируется.

...