Tôi đang cố viết một chương trình C++ đơn giản trên Hộp AIX. chương trình được đưa ra dưới đây:Sử dụng dòng trên AIX
# include <iostream>
# include <fstream>
using namespace std ;
int main()
{
ofstream of ;
of.open("license.txt") ;
of<<"hello"<<endl ;
of.close() ;
}
LDFLAGS của tôi đã được thiết lập như sau:
-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 là: Chương trình
-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
Các biên dịch tốt. Nhưng khi tôi cố gắng chạy như vậy, chương trình đi kèm với một lỗi phân đoạn. Tôi chạy cùng với gdb và tìm thấy vấn đề sau khi tôi sử dụng 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!
Bất kỳ ý tưởng nào về lý do điều này xảy ra? Any help is appreciated :)
Lưu ý: fstream trong bản thân công trình ...
Có phải làm điều gì đó với phiên bản gcc hoặc cách gcc được biên dịch không? Chỉ cần đoán thôi. – Ricketyship