RHELにはGCC 4.1.2があり、私のC++コードは期待どおりにコンパイルされています。しかし、私はGCCとのCentOS 7.2上でコンパイルしようと、同じコードは、それが以下のエラーで失敗6.2.0:GCC 4.1.2から6.2.0への移行とRHEL 5.5からCentOS 7.2へ
compiling UpcSummarization.o ...
UpcSummarization.cpp: In member function âvoid UpcSummarization::LoadUpcList(std::__cxx11::string)â:
UpcSummarization.cpp:480:40: error: âmemsetâ was not declared in this scope
memset(&pBuffer, 0, sizeof(100));
^
私は、ヘッダファイルの下に含めています:
string
私はstring.h
またはcstring
それが含まれている場合通過します。
ちょうどstring
インクルードファイルで動作させる方法はありますか? string.h
またはcstring
が含まれるようにコードベースの移行オプションではありません
EDIT
はい、それは文字列でした。
は、私は、コードの移行を開始する前第二の選択肢としての代わりないオプション
それを言葉で表現している必要がありますする可能性があり、私はそれがあるとして仕事を動作させるためにコンパイラオプションのいずれかの可能性を排除する必要があります。
必要に応じて余分なライブラリをインストールし、コンパイル方法を変更することができます。実際にはコードを編集していません。
まあ、 'memset'は' cstring'にあります。正しいヘッダーをオプションに含めないのはなぜですか? – Biffen
無関係ですが、 'sizeof(100)'はあなたがここで必要としているものですか? –
@Biffen、正しい方法でコンパイルしているかどうかはわかりません。実際にコードを変更する必要があるかどうかはわかりません。古いバージョンのOSとGCCで動作しているので、コンパイル方法を変更することで修正できることを理解する必要があります。 –