artemis-dev / artemis

A RooT Extension with Modular processors for Instant Switching
2 stars 6 forks source link

ライブラリ統合と cmake 化 #36

Open shinsuke-ota opened 1 year ago

shinsuke-ota commented 1 year ago

artemis-cat-src, artemis-share を 統合し、かつ cmake 対応する

shinsuke-ota commented 1 year ago

37

macos 13.2.1 (M1) でコンパイルしようとしたら初っ端からコケた。一瞬で解決するかもしれないし、解決しないかもしれないし、ひとまずやってみます。(dictionary つくる clangint のところのシステムヘッダ無視オプションかな。)

[ 0%] Generating G__catcore.cxx, libcatcore_rdict.pcm, libcatcore.rootmap In file included from input_line_1:1: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/new:93: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib:135:9: error: no member named 'at_quick_exit' in the global namespace using ::at_quick_exit _LIBCPP_USING_IF_EXISTS; ~~^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib:136:9: error: no member named 'quick_exit' in the global namespace using ::quick_exit _LIBCPP_USING_IF_EXISTS; ~~^

以下はゆるい fix とお願いです。

shinsuke-ota commented 1 year ago

上記のエラーは、SDK のバージョンの違いのせいで引き起こされていると考えられる。

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/cstdlib 

の中身を見てみると以下のような違いがあり、13.3 において正しいチェックがなされていないのではないかと推測される。

13.1

#if !defined(_LIBCPP_CXX03_LANG) && defined(_LIBCPP_HAS_QUICK_EXIT)
using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;
using ::quick_exit _LIBCPP_USING_IF_EXISTS;
#endif
#if _LIBCPP_STD_VER > 14 && defined(_LIBCPP_HAS_ALIGNED_ALLOC)
using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
#endif

13.3

#if !defined(_LIBCPP_CXX03_LANG)
using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;
using ::quick_exit _LIBCPP_USING_IF_EXISTS;
#endif
#if _LIBCPP_STD_VER > 14
using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
#endif

https://youtrack.jetbrains.com/issue/KT-57848 でも同じ指摘がされている。

shinsuke-ota commented 1 year ago

Xcode と SDK の対応はこちらで確認できる

https://developer.apple.com/jp/support/xcode/