RHELのDevelopment Toolsスイートで提供されているコンパイラを使用して、RHEL Linux 7.3ワークステーションでstring.hヘッダーファイルを使用するCプログラムをコンパイルしようとしています。 GCCのバージョンは4.8.5です。 string.hファイルは、開発ツールスイートをインストールしたときにシステムによって/usr/include/
ディレクトリにインストールされました。プログラムをコンパイルしようとすると、次のエラーが表示されます。CプログラムでString.hファイルを使用する方法
In file included from All.c:15:0:
/usr/include/string.h:409:14: error: expected identifier or ‘(’ before string constant
extern char *strerror (int __errnum) __THROW;
誰かが私に何か問題を説明できますか?または、ヘッダーファイルはC++とのみ互換性がありますか?
問題の原因を突き止めました。 GCCコンパイラフラグが正しく設定されていないため、コンパイラはコンパイルできませんでした。コンパイルしようとしていたコードは、Xmtモチーフライブラリに関連していました。
私は質問が下落した理由を理解しており、今後このサイトのルールに準拠しようとします。皆さん、ありがとうございました !
コードを[mcve]として表示してください。 – kaylum
[MCVE]を同封してください。 – t0mm13b
'string.h'(' #include 'でインクルードされています)について議論しているのか、まったく違う名前の不明な名前である 'String.h'について議論していますか?内容で判断すると、あなたは本当に ''を見ています。しかし、ファイルシステムが大文字と小文字を区別しないプラットフォーム(Windows、macOS)があっても、大文字と小文字の区別はC言語では重要です( '#include 'は '#include 'と同じファイルを使用します'#include 'には他のファイル 'String.h'が含まれていますが、逆の意図もありますがどちらも悪いです)。 –