私はAIX Boxに簡単なC++プログラムを書こうとしています。 プログラムは以下の通りである:私のLDFLAGSは以下のように設定されているAIX上でofstreamを使用する
# include <iostream>
# include <fstream>
using namespace std ;
int main()
{
ofstream of ;
of.open("license.txt") ;
of<<"hello"<<endl ;
of.close() ;
}
:
-maix64 -L/disk3/TOOLS/GCCTools/gcc-4.5.1/lib/ppc64 \
-L/disk3/TOOLS/GCCTools/gcc-4.5.1/lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.1/ppc64 \
-L/disk3/TOOLS/GCCTools/gcc-4.5.1/lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.1 \
-L/disk3/TOOLS/OPENSSL/lib
CFLAGSは次のとおりです。
-O2 -maix64 -I/disk3/TOOLS/OPENSSL/include -D_ALL_SOURCE -D_XOPEN_SOURCE \
-D_XOPEN_SOURCE_EXTENDED -DSS_64BIT_SERVER -D_POSIX_SOURCE -D__64BIT__ \
-I/disk3/TOOLS/OPENSSL/include -I/usr/include \
-I/disk3/TOOLS/GCCTools/gcc-4.5.1/lib/gcc/powerpc-ibm-aix6.1.0.0/4.5.1/include
プログラムが正常にコンパイルされます。しかし、私が同じものを実行しようとすると、プログラムは、セグメント化の欠陥で出てくる。 は私はGDBと同じように走ったと私はofstreamの使用時に次の問題が見つかりました:
Program received signal SIGSEGV, Segmentation fault.
0x09000000036107c4 in std::locale::operator=(std::locale const&) (this=
findvar.c:706: internal-error: value_from_register: Value not stored anywhere!
なぜこれが起こっている上の任意のアイデアを? すべてのヘルプは高く評価され:)
注:自身でfstreamの作品を...
gccのバージョンやgccのコンパイル方法で何かをしなければなりませんか?ちょうど推測。 – Ricketyship