普段はVSを使っていますが、cygwinは初めてです。Windows 7 を使用していますが、gcc を使用して hello world プログラムをコンパイルすると、「致命的なエラー: conio.h: そのようなファイルまたはディレクトリはありません」と表示されます。
Windows 7 を使用していますが、システムに conio.h がないようです。誰かがこの問題を解決する方法を教えてください。
ありがとう!!
conio.h
Cygwin には、 !というヘッダー ファイルは存在しません。また、使用せずに画面を自動的に保持し、Cygwinを使用しているgetch()
ため、必要ありclrscr()
ません。system("clear")
conio は標準ライブラリの一部ではないため、クロスプラットフォームで、または同じプラットフォームのコンパイラ間でさえも利用できるとは期待できません。
非標準であるため、conio という名前は Borland と Microsoft の両方で、異なる API を持つライブラリに使用されています。Microsoft の名前ははるかに小さいです。そのため、移植性のためにそれを避けるかもしれません。
conio が Windows 上にないことは問題ではありません。Cygwin は、Windows 上で POSIX コードをビルドおよび実行するための POSIX API レイヤーおよびツール チェーンです。提供されるライブラリは、Visual Studio で提供されるものとは独立しています。
以下を含む多くのソリューションがあります。
2 番目の解決策は、conio を使用するレガシー コードが多数ある場合にはおそらく便利ですが、コンソール ウィンドウが閉じないようにするだけの場合はやり過ぎです。そのためにはgetchar()
、どのような場合でも使用して、任意のキーではなくエンターを押す必要があることを受け入れることができます。
Windows で GCC を使用できるようにするためだけに Cygwin を使用している場合は、代わりに MinGW/GCC を使用することをお勧めします。これは、GNU ではなく Microsoft の C ランタイムを使用し、POSIX ではなく Win32 API を使用します。