最近、OS を Mavericks にアップグレードし、Xcode (4.6.2 から 5.0.1 にアップグレード) を再インストールし、xcode-select もインストールしました。最後に、ルート (v5.34/10) を再度インストールし、ソース コードを git からダウンロードして、標準の ./configure と make に従いました。次に、bin/thisroot.sh をソースします。
しかし、これらすべての手順を実行すると、以前にコンパイルして実行したコードは機能しなくなります。
ルート ライブラリを使用してコードをコンパイルしています。コンパイルするには、次の出力をオプションとして使用します。
root-config --cflags
root-config --glibs
以下を取得します。
g++ main.C -pthread -stdlib=libc++ -m64 -I/Users/user/root.git/include -L/Users/royal/root.git/lib -lGui -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lpthread -Wl,-rpath,/Users/user/root.git/lib -stdlib=libc++ -lm -ldl
g++ と clang++ の両方を使用してみましたが、同じエラーが発生します。
*** Break *** segmentation violation
Generating stack trace...
--
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
--
0x0000000106cee8d7 in main (in a.out) + 1447
--
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
--
0x00007fff8e2e95fd in start (in libdyld.dylib) + 1
0x0000000000000001 in <unknown function>
また、ルート main.C を介してコンパイルせずにコードを実行しようとしましたが、この場合は次のようになります。
Error: Ambiguous overload resolution (10001,2) ReactorSpectrumMultiple.h:237:
Calling : getline(ifstream,string);
Match rank: file line signature
ffffffff (compiled) 0 istream& getline(istream&,string&,char);
* 10001 (compiled) 0 istream& getline(istream&,string&);
ffffffff (compiled) 0 basic_istream<char,char_traits<char> >& getline(basic_istream<char,char_traits<char> >&,string&,char);
* 10001 (compiled) 0 basic_istream<char,char_traits<char> >& getline(basic_istream<char,char_traits<char> >&,string&);
*** Interpreter error recovered ***
前に言ったように、コード行を変更しておらず、これは以前は完全に機能していました。明らかな何かが見られる場合に備えて、最後のエラーをトリガーする行を書きます。
std::string line;
std::ifstream input(IsotopeName);
std::getline(input,line);// This line produces the error
getline(input,line); も使用してみました。std:: なし、同じエラー。
最後の試みは、istream::getline(input,line); を書くことでした。代わりは。その場合、最初のエラーに似たものが表示されます。
*** Break *** segmentation violation
Generating stack trace...
--
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
--
0x000000010e6401d9 in G__getfunction (in libCint.so) + 5929
--
Warning: /usr/bin/atos is moving and will be removed from a future OS X release.
It is now available in the Xcode developer tools to be invoked via: `xcrun atos`
To silence this warning, pass the '-d' command-line flag to this tool.
--
0x000000010e63561b in G__getitem (in libCint.so) + 507
--
その警告を出力し続けますが、さまざまなソース (libCint.so、libCore.so、libRint.so、root.exe、および libdyld.dylib) によってトリガーされるため、出力全体をコピーしません。
お時間をいただきありがとうございます。