[OS X] "unknown type name 'KARCHIVE_DEPRECATED'" building kdoctools
Alex Merry
alex.merry at kde.org
Wed Nov 4 21:50:16 UTC 2015
On 2015-11-04 21:45, René J. V. Bertin wrote:
> René J. V. Bertin wrote:
>
>> Alex Merry wrote:
>>
>>> Looks like your include path is wrong.
>>> /opt/local/include/KF5/KArchive
>>> should be in the include path (before wherever wherever your kdelibs4
>>> headers are).
>
> In fact:
>
> cd
> /opt/local/var/macports/build/_opt_local_site-ports_kf5_Frameworks/kf5-
> kdoctools/work/build/src &&
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
>
> -DQT_CORE_LIB -DQT_MAC_USE_COCOA -DQT_NO_CAST_FROM_BYTEARRAY -
> DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_SIGNALS_SLOTS_KEYWORDS -
> DQT_NO_URL_CAST_FROM_STRING -DQT_QSP_XDG_LIB
> -DQT_USE_FAST_OPERATOR_PLUS -
> DQT_USE_QSTRINGBUILDER -DTRANSLATION_DOMAIN=\"kdoctools5\"
> -D_DARWIN_C_SOURCE -
> D_LARGEFILE64_SOURCE -O3 -march=native -g -DNDEBUG -stdlib=libc++
> -std=c++0x -
> fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts
> -Wformat-security -
> Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor
> -Woverloaded-virtual -
> Werror=return-type -pedantic -Wno-gnu-zero-variadic-macro-arguments
> -mmacosx-
> version-min=10.9 -I/opt/local/var/macports/build/_opt_local_site-
> ports_kf5_Frameworks/kf5-kdoctools/work/build/src -
> I/opt/local/var/macports/build/_opt_local_site-ports_kf5_Frameworks/kf5-
> kdoctools/work/kdoctools-5.15.0/src -I/opt/local/include/libxml2 -
> I/opt/local/include -iframework
> /opt/local/libexec/qt5/Library/Frameworks -
> isystem
> /opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/Headers -
> isystem /opt/local/share/qt5/mkspecs/macx-clang -isystem
> /opt/local/libexec/qt5/Library/Frameworks/QtQspXDG.framework/Headers
> -isystem
> /opt/local/include/KF5/KArchive -isystem /opt/local/include/KF5
> -fPIC -o
> CMakeFiles/meinproc5.dir/xslt_kde.cpp.o -c
> /opt/local/var/macports/build/_opt_local_site-ports_kf5_Frameworks/kf5-
> kdoctools/work/kdoctools-5.15.0/src/xslt_kde.cpp
>
> looking closely enough, you'll see that there's (in that order)
>
> -I/opt/local/include -isystem /opt/local/include/KF5/KArchive
>
> so it's perfectly correct that the KDE4 header is picked up first.
>
> And the KARCHIVE_DEPRECATED error is explained the same way: the KDE4
> karchive_export.h header is found before the KF5 one ...
>
> I must admit I don't really see the point in bundling headerfiles in a
> specific
> directory, only to relinquish the selectivity that allows from #include
> statements by adding the directory/ies to the -I includepath ...
Well, if we'd done it for kdelibs4 as well, you wouldn't have this issue
- if you had to add -I/opt/local/include/kdelibs in order to find any
kdelibs headers, none would be found by mistake.
Alex
More information about the Kde-frameworks-devel
mailing list