1

最近、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) によってトリガーされるため、出力全体をコピーしません。

お時間をいただきありがとうございます。

4

0 に答える 0