gccはCygwinで「該当するファイルやディレクトリがありません」というエラーを生成します。

gccはCygwinで「該当するファイルやディレクトリがありません」というエラーを生成します。

デモ目的のために、ここに1行のtest.cがあります。

#include <dbus/dbus.h>

これは私のビルドファイルです。

INC     =   -I/usr/include/dbus-1.0         \
            -I/usr/lib/dbus-1.0/include

test    :   test.c
            gcc $(INC) -c -o test.o test.c

Mer Linux(zypper経由)とCygwin(インストールプログラム経由)にdbus develパッケージをインストールしました。 dbus/dbus.hは両方のシステムで表示できます(ls /usr/include/dbus-1.0はdbus.hファイルを含むdbusフォルダを表示します)。これはMer Linuxで正常にコンパイルされますが、Cygwin(Win 7で実行されている2.831 64ビット)でコンパイルすると、次のエラーが発生します。

test.c:1:23: fatal error: dbus/dbus.h: No such file or directory
 #include <dbus/dbus.h>
                       ^
compilation terminated.
makefile:5: recipe for target 'test' failed
make: *** [test] Error 1

私はCygwinを動作させるために私が考えることができるすべての単純なバリエーション(Iとパスの間のスペース、パスの末尾に追加のスラッシュ、さまざまなgccパラメータの順序)を試しました。存在してはならないこの問題を解決する簡単な方法はないようです。

助ける!

ベストアンサー1

スタックオーバーフローコメントgccまたはmakeのバージョンがunix / Windowsパススタイルの競合を処理しないため、このような場合に発生する可能性が議論されました。同様の問題が発生します。その他この状況は、gccのCygwinバージョンがインストールされていることを確認することで解決されます。そうでなければ、他のものに頼ることになります。

標準のCygwin gcc / makeがインストールされていないと、これが問題を引き起こす可能性があります。

おすすめ記事