我正在使用实际devel
分支中的 Catch2,尝试比较两个时出现链接器错误vector<string_view>
该问题可以重现如下:
#include <vector>
#include <string_view>
#include <catch2/catch_test_macros.hpp>
TEST_CASE("Can split string", "[split]") {
vector<string_view> splittedString = {"this is a string view"sv};
vector<string_view> EXPECTED = {"I'm"sv, "Elvis"sv,"Dukaj"sv};
REQUIRE(splittedString == EXPECTED);
}
我的CMakeLists.txt
:
find_package(Catch2 REQUIRED)
# ...
target_link_libraries(${PROJECT_NAME} PRIVATE Catch2::Catch2WithMain)
尝试构建时出现以下链接器错误:
Catch2/src/catch2/../catch2/catch_tostring.hpp:126: error: undefined reference to `Catch::StringMaker<std::basic_string_view<char, std::char_traits<char> >, void>::convert[abi:cxx11](std::basic_string_view<char, std::char_traits<char> >)'
我究竟做错了什么?我错过了一些包括吗?