例外をスローする単純なC++プログラムをコンパイルする際に、この奇妙な問題があります。AIX 1.7でのC++コンパイルの問題
main.cc:
#include <stdio.h>
double mean(double a, double b)
{
if((a + b) == 0)
{
throw "Exception:: Numerator is Zero";
}
return (a+b)/2;`
}
calc.cc:
#include <stdio.h>
double mean(double a, double b)
{
if((a + b) == 0)
{
throw "Exception:: Numerator is Zero";
}
return (a+b)/2;
}
私は以下のようにそれをコンパイルする場合:
Execute the following commands : Step 2.1 => gcc -maix64 -fpic -c calc.cc Step 2.2 => gcc -maix64 -shared -o libcalc.so calc.o -lstdc++ Step 2.3 => gcc -maix64 main.cc libcalc.so -lstdc++
をし、プログラムを実行すると、プログラムは次のようでクラッシュエラー:
terminate called after throwing an instance of 'char const*' IOT/Abort trap (core dumped)
しかし、その代わりのステップ2.3、我々は次のコマンドを使用している場合期待通りに物事が働いている:
gcc -maix64 main.cc libcalc.so -lstdc++ -lgcc_s
あなたはこれを解決するには助けてくださいでした...
投稿を確認できますか?あなたの計算とメインは同じです。 –
AIX 7.1を意味しますか? AIX 1.7は、これまで存在していたとしても数十年前のものです。 –
それは1.7です(オススメするのは申し訳ありません) '' –