У меня есть проблемы с тем, что, кажется, является nostd :: std :: clash в библиотеках под Ubuntu 22. opentelemetry-cpp был настроен с: < /p> [code]cmake -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_OTLP_HTTP=ON -DWITH_OTLP_GRPC=ON -DWITH_ABI_VERSION_1=OFF -DWITH_ABI_VERSION_2=ON -DWITH_STL=ON -DCMAKE_CXX_STANDARD=17 .. < /code> Это успешно построено. В тестовом приложении используется экспортер журнала OTLP GRPC, и проблема, по -видимому, заключается в том, что приложение хочет, чтобы 1 -й параметр LoggerProvider :: GetLogger - OpenElemetry :: V2 :: Nostd :: String_View, в то время как LibopEneLemetry_logs. (См. Вывод Make и NM ниже) < /p> $ make g++ otel_test.o -L/home/mandrews/downloads/github/opentelemetry-cpp/build/exporters/otlp -lopentelemetry_common -L/home/mandrews/downloads/github/opentelemetry-cpp/build/sdk/src/common -lopentelemetry_exporter_otlp_grpc -lopentelemetry_exporter_otlp_grpc_client -lopentelemetry_exporter_otlp_grpc_log -lopentelemetry_exporter_otlp_http_log -L/home/mandrews/downloads/github/opentelemetry-cpp/build/sdk/src/logs -lopentelemetry_logs -L/home/mandrews/downloads/github/opentelemetry-cpp/build/sdk/src/trace -lopentelemetry_trace -L/home/mandrews/downloads/github/opentelemetry-cpp/build/_deps/grpc-build/third_party/protobuf -lprotobuf -o otel_test /usr/bin/ld: otel_test.o: in function `main': /home/mandrews/dev/otel_test.cpp:41: undefined reference to `opentelemetry::v2::sdk::logs::LoggerProvider::GetLogger(opentelemetry::v2::nostd::string_view, opentelemetry::v2::nostd::string_view, opentelemetry::v2::nostd::string_view, opentelemetry::v2::nostd::string_view, opentelemetry::v2::common::KeyValueIterable const&)' collect2: error: ld returned 1 exit status make: *** [Makefile:45: otel_test] Error 1
$ nm ./sdk/src/logs/libopentelemetry_logs.so | grep GetLogger 00000000001ff854 T _ZN13opentelemetry2v23sdk4logs14LoggerProvider9GetLoggerESt17basic_string_viewIcSt11char_traitsIcEES7_S7_S7_RKNS0_6common16KeyValueIterableE 00000000001fc8ea W _ZN13opentelemetry2v24logs18NoopLoggerProvider9GetLoggerESt17basic_string_viewIcSt11char_traitsIcEES6_S6_S6_RKNS0_6common16KeyValueIterableE 00000000002499b4 T _ZNK13opentelemetry2v23sdk4logs13LoggerContext21GetLoggerConfiguratorEv < /code> Как приложение получило идею, что она должна хотеть версии nostd ::? Не знаю, как это исправить ... < /p> Вот Makefile: < /p> oteldir=/home/mandrews/downloads/github/opentelemetry-cpp otellibdir=$(oteldir)/build