Ошибка с cmake conan и liblogicalaccess - PullRequest
0 голосов
/ 27 мая 2020

Я установил версию 2.2.1 библиотеки liblogicalaccess на Kubuntu 18.04 с CMake 3.17.1 и Conan 1.25.0. Я попытался выполнить инструкции C ++ библиотеки liblogicalaccess и во второй строке кода при запуске программы выдает следующую ошибку:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
./run.sh: line 9:  6781 Aborted                 (core dumped) bin/./github_console

main. cpp

// my first program in C++
#include <iostream>

#include <logicalaccess/dynlibrary/librarymanager.hpp>
#include <logicalaccess/readerproviders/readerconfiguration.hpp>
#include <logicalaccess/cards/chip.hpp>


int main()
{
    std::cout << "Hello World!\n";

    // Reader configuration object to store reader provider and reader unit selection.
    std::shared_ptr<logicalaccess::ReaderConfiguration> readerConfig(new logicalaccess::ReaderConfiguration());

    // Set PCSC ReaderProvider by calling the Library Manager which will load the function from the corresponding plug-in
    readerConfig->setReaderProvider(logicalaccess::LibraryManager::getInstance()->getReaderProvider("PCSC"));

}

Первая строка кода, начинающаяся с std :: shared_ptr .., работает нормально, так что это может быть ошибочный код в библиотеке или ошибка версии / совместимости. Вторая строка, вызывающая getReaderProvider, каким-то образом вызывает ошибку. Понятия не имею, где искать исправление этой ошибки. Пришла из эта проблема изначально. Это было исправлено, но по-прежнему зависало в том же коде. Я произвел поиск неисправностей, но безуспешно. Любой совет?

РЕДАКТИРОВАТЬ: Мой CmakeLists.txt: проект (тест)

cmake_minimum_required(VERSION 3.16)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)
set(CMAKE_CXX_FLAGS "-I /usr/include/PCSC")
add_executable(test main.cpp)
target_link_libraries(test PUBLIC CONAN_PKG::LogicalAccess)

conanfile.txt:

[requires]
LogicalAccess/2.2.1

[generators]
cmake

[imports]
lib, * -> lib

И для сборки я просто запускаю cmake --build . в папке project_folder / build.

...