Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Linker Errors using C++17 #200

Closed
Closed
@SegfaultCreator

Description

@SegfaultCreator

Hello together,
while trying to do all the provided tutorials, i ran into a linking issue when defining Nodes that use Input and Output ports. During build process, the following issues are raised when i add the Code to register the Nodes:

/usr/local/include/behaviortree_cpp_v3/basic_types.h:267: error: undefined reference to `BT::PortInfo::setDescription(std::basic_string_view<char, std::char_traits >)'

/usr/local/include/behaviortree_cpp_v3/basic_types.h:115: error: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator > BT::convertFromString<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(std::basic_string_view<char, std::char_traits >)'

... (6 in total)

During debugging i moved the files outside our main CMake-project and the build was successful.
It turned out, that the issue can be triggered by adding
set(CMAKE_CXX_STANDARD 17) in the CMake File.

I know that the ReadMe file sets the CMake to C++14, however i would really like to use the tree in my C++17 project. Is there any way to fix this issue in C++17 or are there any Releases in sight compatible with C++17?

Thanks in Advance

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions