3つのファイルを読み取るためにこのコードを作成します。TMは正方行列のサイズ、LERは配列の行数、最後の値から(ler/2)* 2の非正方行列を定義します
次に、コードはいくつかの関係を持つファイルを読み取ります。すべてが数値であり、C [ler]に割り当てられます。
次に... C [ler]がB [ler/2] [2]に割り当てられます。
B [ler/2] [2]の行ごとの座標は、aとbに割り当てられます。
aとbは、1を追加する行列A [tm] [tm]の行と列です。
コードがクラッシュし、エラーの内容がわかりません。
コンパイルしようとすると、コンパイラgcc -g -o MatSim MatSim.cppプロンプトが表示されます。
/usr/include/c++/4.6/iostream:75: undefined reference to `std::ios_base::Init::Init()'
/usr/include/c++/4.6/iostream:75: undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
また、コンパイルしようとすると、コンパイラf77 -o MatSim MatSim.cppプロンプトが表示されます。
/tmp/cc6ewlkf.o: In function `__static_initialization_and_destruction_0(int, int)':
MatSim.cpp:(.text+0x17ad4a): undefined reference to `std::ios_base::Init::Init()'
MatSim.cpp:(.text+0x17ad4f): undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status
ソリューション
主な問題はライブラリの問題で、次を使用してコードをコンパイルします。
g++ -g -o MatSim MatSim.cpp -lstdc
まだ動作していません?ライブラリをインストールします。
Sudo apt-get install g++-multilib
これはいくつかの方法で解決できます。
g++
の代わりにgcc
:g++ -g -o MatSim MatSim.cpp
-lstdc++
:gcc -g -o MatSim MatSim.cpp -lstdc++
<string.h>
沿って <string>
これはリンカの問題であり、コンパイラの問題ではありません。同じ問題が iostreamリンカエラー の質問で扱われています。これは何が起こっているのかを説明しています。
これらのリンカーエラーのほとんどは、ライブラリがないために発生します。
libstdc ++。6.dylibをプロジェクト->ターゲット->ビルドフェーズ->バイナリとライブラリをリンクに追加しました。
IOS 8.3のXcode 6.3.2で解決しました
乾杯!