Fix nits in compliance.cc and CMakeLists.txt

[skip ci]
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 56b7b65..179f91a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -692,7 +692,7 @@
 endif()
 
 if(AVIF_CODEC_LIBRARIES MATCHES vmaf)
-    # vmaf only impacts the avifenc and avifdec targets below, not the library avif target above.
+    # vmaf only affects the avifenc and avifdec targets below, not the avif library nor examples targets.
     set(AVIF_USE_CXX ON)
 endif()
 
diff --git a/include/avif/internal.h b/include/avif/internal.h
index 6ca97b7..936d4fe 100644
--- a/include/avif/internal.h
+++ b/include/avif/internal.h
@@ -473,7 +473,7 @@
 void avifDiagnosticsPrintf(avifDiagnostics * diag, const char * format, ...);
 
 #if defined(AVIF_ENABLE_COMPLIANCE_WARDEN)
-avifResult avifIsCompliant(uint8_t * data, size_t size);
+avifResult avifIsCompliant(const uint8_t * data, size_t size);
 #endif
 
 // ---------------------------------------------------------------------------
diff --git a/src/compliance.cc b/src/compliance.cc
index b78a56d..28ab270 100644
--- a/src/compliance.cc
+++ b/src/compliance.cc
@@ -21,7 +21,7 @@
 extern const SpecDesc * const globalSpecIsobmff;
 extern const SpecDesc * const globalSpecMiaf;
 
-avifResult avifIsCompliant(uint8_t * data, size_t size)
+extern "C" avifResult avifIsCompliant(const uint8_t * data, size_t size)
 {
     // See compliance_warden.sh.
     if (g_allSpecs().empty()) {
@@ -39,8 +39,8 @@
         topReader.myBox.syms.push_back({ "filename", static_cast<int64_t>(sym), 8 });
     }
     AVIF_CHECKERR(size <= std::numeric_limits<int>::max(), AVIF_RESULT_INVALID_ARGUMENT);
-    topReader.br = { data, static_cast<int>(size) };
-    topReader.myBox.original = data;
+    topReader.br = { const_cast<uint8_t *>(data), static_cast<int>(size) };
+    topReader.myBox.original = const_cast<uint8_t *>(data);
     topReader.myBox.position = 0;
     topReader.myBox.size = size;
     topReader.myBox.fourcc = FOURCC("root");