The reason is that it's used in the public headers, so we need to make sure that users of the public headers also use the same preprocessor definition.
@@ -40,7 +40,7 @@ add_component_library(p3dxgsg9 SYMBOL BUILDING_PANDADX
${P3DXGSG9_HEADERS} ${P3DXGSG9_SOURCES})
target_link_libraries(p3dxgsg9 p3windisplay panda
PKG::CG PKG::DX9)
-target_compile_definitions(p3dxgsg9 PRIVATE USE_GENERIC_DXERR_LIBRARY) # FIXME
+target_compile_definitions(p3dxgsg9 PUBLIC USE_GENERIC_DXERR_LIBRARY) # FIXME
if(NOT BUILD_METALIBS)
install(TARGETS p3dxgsg9 DESTINATION lib RUNTIME DESTINATION bin)