https://sourceforge.net/p/rosegarden/bugs/1746/ https://bugs.gentoo.org/957755 fix compile with Qt built with QT_USE_PROTECTED_VISIBILITY ROSEGARDENPRIVATE_LIB_MAKEDLL should only be defined for the shared library --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,7 +9,6 @@ configure_file(rosegarden-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/rosegarden # Export macros configure_file(rosegardenprivate_export.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/rosegardenprivate_export.h) -add_definitions(-DROSEGARDENPRIVATE_LIB_MAKEDLL) # Define the include paths (-I...) include_directories( @@ -851,6 +850,8 @@ add_library(rosegardenprivate ${RG_LIBRARY_TYPE} ${CMAKE_CURRENT_BINARY_DIR}/svnversion.h ) +target_compile_definitions(rosegardenprivate PRIVATE ROSEGARDENPRIVATE_LIB_MAKEDLL) + # If we've got cmake 3.16.0 or greater, use precompiled headers. # Cuts build time almost in half. if(NOT ${CMAKE_VERSION} VERSION_LESS "3.16.0")