@@ -42,12 +42,11 @@ observability into their operation at runtime. To enable tracing,
4242OpenTelemetry provides full [ install instructions] [ opentelemetry-cpp-install ] .
4343We will highlight the important points.
4444
45- ### Compatibility with Abseil
45+ ### Standard Template Library (STL) types
4646
47- OpenTelemetry vendors-in Abseil types, defining them in ` namespace absl ` . The
48- Google Cloud client libraries depends on Abseil, which also defines these types
49- in the same namespace. In order to avoid ambiguous symbols, we must set certain
50- flags when compiling ` opentelemetry-cpp ` .
47+ OpenTelemetry provides implementations for some STL types via several sources:
48+ Abseil, its own ` nostd ` implementation, and the STL bundled with your compiler.
49+ The ` google-cloud-cpp ` libraries require using the STL implementation.
5150
5251## Using with Bazel
5352
@@ -117,7 +116,7 @@ To enable these features, add the following to your CMake configuration command:
117116
118117#### Details
119118
120- We must supply the ` -DWITH_ABSEIL=ON ` flag when compiling ` opentelemetry-cpp `
119+ We must supply the ` -DWITH_STL=CXX17 ` flag when compiling ` opentelemetry-cpp `
121120for compatibility with Abseil.
122121
123122We must also ensure that the ` -DCMAKE_CXX_STANDARD ` used to compile
@@ -126,8 +125,9 @@ We must also ensure that the `-DCMAKE_CXX_STANDARD` used to compile
126125OpenTelemetry defaults the language standard if it is not explicitly set. So it
127126is good practice to explicitly set the language standard.
128127
129- While OpenTelemetry supports C++>=11, ` google-cloud-cpp ` requires C++>=14. So
130- you can use ` -DCMAKE_CXX_STANDARD=14 ` , ` -DCMAKE_CXX_STANDARD=17 ` , or higher.
128+ While OpenTelemetry supports C++>=11, ` google-cloud-cpp ` requires C++>=17. So
129+ you can use ` -DCMAKE_CXX_STANDARD=17 ` , or higher, just make sure it matches the
130+ standard value in the ` -DWITH_STL=CXXnn ` flag.
131131
132132### Package Managers
133133
0 commit comments