- 締切済み
Xerces 2.0.0 のg++(4.4.7対応
The Apache Xerces 2.0.0のソースを本家サイトの以下から入手し、コンパイルを実施していますが、コンパイルエラーとなってしまいます。 コンパイラは、g++(gcc version 4.4.7)なのですが、対応していないのでしょうか。 <https://archive.apache.org/dist/xml/xerces-c/> 素人ながら少し調べる限り、iostream.hのインクルードに失敗しているようです。 エラーのでているソースのiostream.hのインクルードの書き方は古い書き方(C準拠)で、g++4.4.7のコンパイラに対応していないようです。 対応した書き方は、<iostream>と.hを書かないようです。 実際、環境にあるのは、/usr/include/c++/4.4.4/iostreamでした。 バージョンが4.4.4の理由は不明ですが… Xercesをコンパイルしようとしていますが、C++未経験です。 質問にあたり、提示が必要な情報が不足している場合は教えて頂けますと幸いです。 ■OS Redhat ES 6.6(カーネル:2.6.32-504.3.3.el6.x86_64) ■CPU Intel(R) Xeon(R) CPU E5-2637 v4 @ 3.50GHz ■C++コンパイラ g++ -vコマンドで表示すると以下のバージョンが表示されます。 gcc version 4.4.7 20120313 (Red hat 4.4.7-11) (GCC) ■コンパイルコマンド 説明の便宜上、コンパイルに関係のないpwd等のパスが分かる操作も含めています。 [root@xxxxx test]# pwd /usr/local/test [root@xxxxx test]# ls xerces-c-src2_0_0.tar.gz [root@xxxxx test]# tar xvzf xerces-c-src2_0_0.tar.gz [root@xxxxx test]# cd ./xerces-c-src2_0_0/src/xercesc [root@xxxxx test]# cd ./xerces-c-src2_0_0/src/xercesc [root@xxxxx test]# pwd /usr/local/test/xerces-c-src2_0_0/src/xercesc [root@xxxxx xercesc]# export XERCESCROOT=/usr/local/test/xerces-c-src2_0_0 [root@xxxxx xercesc]# autoconf [root@xxxxx xercesc]# ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpth ■コンパイルエラー コンパイルエラー部分と直前の関係がありそうなメッセージ部分を抜粋します。 make -C framework make[1]: ディレクトリ `/usr/local/test/xerces-c-src2_0_0/src/xercesc/framework' に入ります mkdir -p /usr/local/test/xerces-c-src2_0_0/include/xercesc/framework cp -fp LocalFileInputSource.hpp LocalFileFormatTarget.hpp MemBufInputSource.hpp MemBufFormatTarget.hpp StdInInputSource.hpp StdOutFormatTarget.hpp URLInputSource.hpp Wrapper4DOMInputSource.hpp Wrapper4InputSource.hpp XMLAttDef.hpp XMLAttDefList.hpp XMLAttr.hpp XMLBuffer.hpp XMLBufferMgr.hpp XMLContentModel.hpp XMLDocumentHandler.hpp XMLElementDecl.hpp XMLEntityDecl.hpp XMLEntityHandler.hpp XMLErrorCodes.hpp XMLErrorReporter.hpp XMLFormatter.hpp XMLNotationDecl.hpp XMLPScanToken.hpp XMLRecognizer.hpp XMLRefInfo.hpp XMLValidator.hpp XMLValidityCodes.hpp /usr/local/test/xerces-c-src2_0_0/include/xercesc/framework (省略) g++ rget.o StdOutFormatTarget.cpp StdOutFormatTarget.cpp:66:22: error: iostream.h: そのようなファイルやディレクトリはありません StdOutFormatTarget.cpp: In member function ‘virtual void StdOutFormatTarget::writeChars(const XMLByte*, unsigned int, XMLFormatter*)’: StdOutFormatTarget.cpp:83: error: ‘cout’ was not declared in this scope make[1]: *** [StdOutFormatTarget.o] エラー 1 make[1]: ディレクトリ `/usr/local/test/xerces-c-src2_0_0/src/xercesc/framework' から出ます make: *** [Framework] エラー 2
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- trapezium
- ベストアンサー率62% (276/442)