cmake柯南和libologicaccess错误

时间:2020-05-27 15:40:44

标签: c++ cmake conan

我已经在Kubuntu 18.04上使用CMake 3.17.1和Conan 1.25.0安装了2.2.1版本的libologicaccess库。 我尝试遵循libologicaccess库的C ++指南,并在第二行代码中,在运行程序时出现以下错误:

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会导致错误。我不知道在哪里可以找到此错误的解决方法。最初来自this problem。那是固定的,但仍然停留在相同的代码上。我进行了一些随机的故障排除,但是没有运气。有什么建议吗?

编辑: 我的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

要构建,我只需在project_folder / build中运行cmake --build .

0 个答案:

没有答案