これまでずっと Windows を使ってきましたが、最近 Linux をインストールしました。また、code::blocks
ターミナルで次のコマンドを使用して、という名前の C++ IDE もインストールしました。
sudo apt-get install codeblocks
今、ソースコードを実行しようとすると、このエラーが発生します
sh:1 /home/daniel/Desktop/Hey: Permission Denied
何か助けや解決策はありますか?
答え1
CodeBlocks が単一のファイル (プロジェクトではなく) で作業する場合の通常の動作では、コンパイルされた実行可能ファイルの名前として、拡張子なしのファイル名を使用します。したがって、 というhello.cpp
名前のバイナリが生成されますhello
。CodeBlocks は、ファイルのタイムスタンプをチェックして、コンパイルが必要かどうかを確認します。ファイルに拡張子がない場合、この方法は機能しません。 という名前のソース ファイルには、 CodeBlocks の観点からはhello
という名前のバイナリ ファイルがありますhello
。そのため、タイムスタンプ チェックは失敗します。これは、ファイルをそれ自体と比較するためです。したがって、CodeBlocks はコードをコンパイルせず、代わりに直接実行しようとしますが、ソース ファイルが実行可能ファイルではないため失敗します (シェル スクリプトなどの実行可能なソース コードでは、これは問題になりません)。
したがって、CodeBlocks を使用する場合 (および一般にも同様)、常に適切な拡張子で C/C++ ソース コードを保存してください。