4

Cygwinを使用してWindows7にigraphやSNAPなどのライブラリをインストール/コンパイルしようとしました(また、MinGW-MSYSも試しました)が、いくつかの問題が発生しました。

私は問題を次のように与えられたこのエラーに絞り込んだと思います./configure

checking sys/times.h usability... no
checking sys/times.h presence... no
checking for sys/times.h... no

Cygwinには、/usr/include/sys/times.h実際に存在します。MinGWでこれについてグーグルで検索しましたが、「 POSIX / BSDの「times」関数はANSI標準の一部ではなく、Mingw32ランタイムには存在しないため、sys/times.hはMinGWでは使用できないようです」。

実験として、gccを使用してCygwinでこのCコードをコンパイルしてみました。

#include <stdio.h>
#include <sys/times.h>

int main (void) 
{

      return 0;
}

これはコンパイルされず、エラーが発生しますsys/times.h no such file or directory</usr/include/sys/times.h>これは、インクルードをまたはに変更した場合でも発生し<usr/include/sys/times.h>ます。Cygwinコマンドでは、プロモーション/usr/include/sys/times.hが正しく機能します。

質問

sys / times.hのユーザビリティとプレゼンスを取得するにはどうすればよいですか?インストールできるパッケージまたはライブラリはありますか?

4

3 に答える 3

6

あなたのコードは私のCygwinで問題なくコンパイルされます。実際/usr/includeには、gccのデフォルトのインクルード検索パスの1つであるため、通常、gccはを見つけることができますsys/times.h

おそらく、Cygwin gccの代わりにMinGWバージョンのgccを使用していますか?which gccであることを確認し/usr/bin/gcc、また、のgcc --versionように表示されないことを確認してくださいmingw32-gcc.exe (GCC) x.x.x

また、詳細な出力を使用してCファイルをコンパイルすることもできます。

gcc -v test.c

gcc検索にファイルが含まれる方法を示します。/usr/includeCygwinのgccを使用する場合は、検索パスリストの1つである必要があります。

于 2012-10-05T16:36:15.073 に答える
2

私が知ったように、この問題にはいくつかの本質的な問題があるようであり、sys / times.hはWindowsで使用されることは想定されていません(何らかの理由でサポートされていません)。

ここでも述べたように、コンパイルするには、実際にコードからその使用を削除する必要があります。

于 2013-03-02T18:05:34.553 に答える
0

私はこれと同じ問題を抱えていました。フォルダC:\cygwin64を削除します。cygwinを再インストールします。すべてのデフォルトを選択しますが、「パッケージの選択」が表示されたら、binutils、make、gcc-g++を1つずつ検索して選択してください。それぞれについて、ドロップダウンを選択し、フォーム「スキップ」を最新バージョンに変更します。インストールが完了するまで続行します。そこからすべてがうまくいきました。

于 2021-08-29T23:55:57.640 に答える