4

これは、単純な hello world プログラムを gcc でコンパイルしようとしたときに得られるものです。

c:\>gcc hello.c
hello.c:9:2: warning: no newline at end of file
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot open output file a.exe
: Permission denied
collect2: ld returned 1 exit status

Windows 7の管理者権限と関係がありますか?

出力ファイルが作成されているのに開くことができない場合、それはどこにありますか?

これがあまりにも初心者の質問である場合は申し訳ありません。これまで、ソース コードのコンパイルに Dev-C++ を使用してきました。エラーをグーグルで調べてみましたが、ファイルが既に開いていることがわかりましたが、タスクマネージャーにそのようなexeについての言及はありません。

編集:また、ファイルは C:\hello.c にあります

他のドライブに入れたらできますか?

ファイルを D:\ に配置し、cd d:\ を使用して他のドライブに変更しようとしても、ドライブは変更されません。

4

3 に答える 3

6

はい、権限の問題です。コマンド ライン ウィンドウを管理者モードで実行してはいけません。

C:\ では動作しない

ファイルをマイ ドキュメントの下のフォルダー、C: のサブフォルダー、または別のドライブにコピーします。

または、本当に C のルートで作業したい場合は、コンソールを管理者モードで実行します。

D: に切り替えるには、C: で D: と入力するだけです (CD は、既に正しいドライブにある場合にのみ使用します)。

于 2010-08-10T17:47:59.747 に答える
1

最も一般的なケースは、プログラムがまだバックグラウンドで実行されている可能性があり、無限ループで停止している可能性があることです。プロセスリストでプロセスを検索して ( Alt+ Ctrl+を押しDelて)、強制終了してみてください。

于 2010-08-10T17:50:05.277 に答える
-2

CodeBlocks-IDE のビルド ログの g++.exe-command は、コマンドに追加のパス: を示していますC:\MinGW\libが、これは間違っています。

  1. コマンドを cmd-window (プロジェクトのディレクトリ内) にコピーするとC:\MinGW\lib、コンパイラは動作しません。に示すようにコマンドをコピーするCodeBlocks-Buil-logと失敗し、cmd-window に同じメッセージが表示されます。

  2. をご覧くださいSettings > Compiler > Search Directories > Linker。そこを削除し C:\MinGW\libなければならないのですが、一度やると削除されないというバグがあります。あなたはそれを繰り返さなければなりません、そしてそれはうまくいきます。

于 2017-07-31T12:37:16.657 に答える