On 18/05/14 17:50, Ivan Čukić wrote: > Hi, > > When compiling libraries that use GenerateExportHeader with clang 3.5.0, I'm > getting a library without any methods exported. > > I'm using the same CMake invocation is as kdesrc-build does, only with > -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ \ > -DCMAKE_C_COMPILER=/usr/local/bin/clang > > GenerateExportHeader sets all macros to empty strings. > > I've tested with a few different frameworks. Can anyone confirm this?
Nope, all looks fine to me when I build KCoreAddons. Configure output has: -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success The generated kcoreaddons_export.h is attached. Everything builds fine, including the tests, so the exporting appears to work properly. clang --version output: clang version 3.4 (tags/RELEASE_34/final) Target: x86_64-unknown-linux-gnu Thread model: posix Alex
#ifndef KCOREADDONS_EXPORT_H #define KCOREADDONS_EXPORT_H #ifdef KCOREADDONS_STATIC_DEFINE # define KCOREADDONS_EXPORT # define KCOREADDONS_NO_EXPORT #else # ifndef KCOREADDONS_EXPORT # ifdef KF5CoreAddons_EXPORTS /* We are building this library */ # define KCOREADDONS_EXPORT __attribute__((visibility("default"))) # else /* We are using this library */ # define KCOREADDONS_EXPORT __attribute__((visibility("default"))) # endif # endif # ifndef KCOREADDONS_NO_EXPORT # define KCOREADDONS_NO_EXPORT __attribute__((visibility("hidden"))) # endif #endif #ifndef KCOREADDONS_DEPRECATED # define KCOREADDONS_DEPRECATED __attribute__ ((__deprecated__)) #endif #ifndef KCOREADDONS_DEPRECATED_EXPORT # define KCOREADDONS_DEPRECATED_EXPORT KCOREADDONS_EXPORT KCOREADDONS_DEPRECATED #endif #ifndef KCOREADDONS_DEPRECATED_NO_EXPORT # define KCOREADDONS_DEPRECATED_NO_EXPORT KCOREADDONS_NO_EXPORT KCOREADDONS_DEPRECATED #endif #define DEFINE_NO_DEPRECATED 0 #if DEFINE_NO_DEPRECATED # define KCOREADDONS_NO_DEPRECATED #endif #endif
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel