Opened 12 years ago

Last modified 11 years ago

#34605 closed defect

kdelibs4 @4.8.2_0 __KDE_HAVE_GCC_VISIBILITY not defined in <prefix>/include/kdemacros.h — at Version 1

Reported by: IanWadham Owned by: snc@…
Priority: Normal Milestone:
Component: ports Version: 2.0.4
Keywords: Cc: sharky@…, michaelld@…
Port: kdelibs4

Description (last modified by ryandesign (Ryan Carsten Schmidt))

The file <prefix>/include/kdemacros.h is apparently generated by the CMake script <prefix>/share/apps/cmake/modules/FindKDE4Internal.cmake, where the KDE build tries to establish the compiler environment. After my kdelibs4 @4.8.2_0 install, I found that no other libraries I compiled and built with #include kdemacros.h could be linked to applications code (I have a development version of KDE Games on Apple). The reason was that GCC visibility of library classes and symbols was not available, because kdemacros.h did not have __KDE_HAVE_GCC_VISIBILITY defined.

Macports 2.0.4, XCode 4.2.1 and OSX 10.7.4 are giving me the symbolic link /usr/bin/c++ -> llvm-g++-4.2 When I force definition of __KDE_HAVE_GCC_VISIBILITY in my CMakeLists.txt, everything compiles and links OK and works fine. So I guess llvm-g++-4.2 is a GCC-like compiler, but is not being recognised as such.

Change History (1)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: sharky@… michaelld@… added
Description: modified (diff)
Owner: changed from macports-tickets@… to snc@…
Port: @4.8.2_0 removed
Note: See TracTickets for help on using tickets.