2010-11-24 15 views
2

cygwinでgccで動作する最小限のパッケージは何ですか? gcc-core、gcc-g ++、gdb、binutils、makeをインストールしました。これらは十分ではありませんか?私は、基本的なCのコードをコンパイルしようとすると、エラーgcc cygwinコンパイルエラー

/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find 
-luser32 
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find 
-lkernel32 
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find 
-ladvapi32 
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find 
-lshell32 

を次取得SYSTEM32でUSER32 ADVAPIのShell32は名前のdllファイルがあります。リンカーはそれらを検索しますが見つけられませんか? は経路に関連する問題ですか?私は

$ $PATH 
bash: /usr/local/bin:/usr/bin:/bin:/cygdrive/c/Program: No such file or directory 

$ PATHを行くと、どうやら

$ echo $PATH 
/usr/local/bin:/usr/bin:/bin:/cygdrive/c/Program Files/PC Connectivity Solution/ 
:/cygdrive/c/Program Files/MiKTeX 2.8/miktex/bin:/cygdrive/c/WINDOWS/system32:/c 
ygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/AT 
I Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files/MATLAB/R2010a/runti 
me/win32:/cygdrive/c/Program Files/MATLAB/R2010a/bin:/cygdrive/c/Program Files/S 
amsung/Samsung PC Studio 3/:/cygdrive/c/Cygwin/bin:/cygdrive/c/Cygwin/usr/bin 

答えて

4

$ PATHをエコーするとき、あなたはmingwの機能(USER32は、Microsoftライブラリではなく、POSIX 1である)を使用しています。 MingWパッケージをインストールする必要があります。 Hereはリストです。私はあなたがそれらのすべてを必要としているかどうかは疑いがあります(正確なセットはあなたが構築しようとしているアプリケーションに依存します)。

+0

残念ながら、あなたのリンクは壊れていて、サイト** cablelabs.com **にはサブドメイン** devzone **(少なくとも公開アクセス用)はありません。それを修正できますか? –

0

gccオプションに-L/lib/w32api(およびコードに "windows.h"が含まれている場合は-I/usr/inclulde/w32api)を追加してみてください。

メイクファイルのLDFLAGSを探して、 "-L/lib/w32api"(引用符なし)で追加することもできます。上記のインクルードパスが必要な場合は、CFLAGS変数でも同じことができます。

0

フォルダ内にw32apiがない場合があります。

C:\cygwin\usr\lib\w32apiに移動し、すべてのファイルをC:\cygwin\usr\libC:\cygwin\libにコピーしてください。-luser32エラーが修正されるはずです。

+1

あなたはそうは思わないはずです。彼らは理由のために別々のディレクトリに置かれます。コンパイル時およびリンク時の引数とオプションを使用して、それを正しく取得します。 mingwの機能を使ってビルドする場合は、-mno-cygwin(pre-gcc4)またはmingwクロスコンパイラ(cygwinインストーラ 'setup.exe'で利用可能)を使用する必要があります。 – thoni56