web-dev-qa-db-ja.com

コマンドラインからg ++でコンパイルしようとすると、「アクセスが拒否されました」というメッセージが表示されます。 Cygwin

Cygwinにすべてのパッケージをインストールしました。また、PATH変数にC:\ cygwin\binを追加しました。しかし、コマンドラインでc ++ファイルをコンパイルしようとすると、「アクセスが拒否されました」というエラーが表示されます。同じコマンドがcygwinバッチウィンドウで機能します。誰かが何が悪いのか知っていますか?

編集: gccとg ++の権限を変更しました。 「アクセスが拒否されました」というエラーは表示されなくなりましたが、新しいエラーが表示されます:「このバージョンのC:\ cygwin\bin\g ++。exeは、実行しているWindowsのバージョンと互換性がありません。コンピュータのシステム情報を確認してください。プログラムのx86(32ビット)バージョンとx64(64ビット)バージョンのどちらが必要かを確認してから、ソフトウェアの発行元に連絡してください。」.

enter image description here

enter image description here

23
sighol

なぜならc:\cygwin\bin\gcc.exeは実行可能ファイルではなく、cygwinのシンボリックリンクです。

$ file /bin/gcc
/bin/gcc: symbolic link to `/etc/alternatives/gcc'
$ file /etc/alternatives/gcc
/etc/alternatives/gcc: symbolic link to `/usr/bin/gcc-4.exe'

基になるファイルは問題なく実行されます。

C:\cygwin\home\Ben>gcc-4 --version
gcc-4 (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
28
Ben Voigt

Gccとg ++を削除し、g ++/cc-4の名前を変更しました。

4
heftyfunseeker

マゾヒストでない限り、Cygwin実行可能ファイルで常にCygwinバッチウィンドウを使用してください。また、Cygwinでコンパイルされたgccを使用している場合は、結果を実行するためにCygwin DLL)が必要です。 Cygwin Webサイト が理由を説明しています。 Cygwin dll、私は探求します MinGW

3
David Harris

同じ問題が発生しました。これは、Cygwinのインストール後に再起動を保留していたためです。再起動後、私はうまくいきます。

0