5

私はhttp://daleswanson.blogspot.com/2012/07/how-to-compile-c-code-in-notepad-with.htmlを読んでいて、メモ帳++でコードを書き続けることができるように、それを試すことにしましたコンパイル/実行サイクルが短くなります。

コンパイル/実行コードを NppExec に入力しようとすると、機能しません。私が今持っているコードは次のとおりです。

npp_save
cd "$(C:\Users\Bart\Desktop\new delete me)"
g++ "$(test.cpp)" -o $(testme.exe) -march=native -O3
NPP_RUN $(testme.exe)

それは私が与えた最初のリンクに基づいていました:

npp_save
cd "$(CURRENT_DIRECTORY)"
g++ "$(FILE_NAME)" -o $(NAME_PART) -march=native -O3
NPP_RUN $(NAME_PART)

Notepad++ は、コンソールに次の情報を表示します。

NPP_SAVE: C:\Users\Bart\Desktop\new delete me\test.cpp
CD: 
Current directory: C:\Program Files (x86)\Notepad++
g++ "" -o  -march=native -O3
CreateProcess() failed with error code 2:
The system cannot find the file specified.

NPP_RUN:
- empty command

他のページからは、そのコードを貼り付ける必要があるように見えました.すべて大文字の単語は置き換えられるものではなく、変数です. だから私はこのコードを使用しました:

npp_save
cd "$(CURRENT_DIRECTORY)"
g++ "$(FILE_NAME)" -o $(NAME_PART) -march=native -O3
NPP_RUN $(NAME_PART)

Notepad ++コンソールで次のようになりました:

NPP_SAVE: C:\Users\Bart\Desktop\new delete me\test.cpp
CD: C:\Users\Bart\Desktop\new delete me
Current directory: C:\Users\Bart\Desktop\new delete me
g++ "test.cpp" -o test -march=native -O3
CreateProcess() failed with error code 2:
The system cannot find the file specified.

NPP_RUN: test
- the specified file was not found

物事をセットアップするために私が行ったことは次のとおりです。

MinGW Installation Manager をインストールしたhttp://sourceforge.net/projects/mingw/files/から mingw-get-setup.exe をダウンロードしました。次に、それを使用して、mingw32-gcc-++ パッケージと、mingw32-libz.dll および mingw32-libz.dev パッケージをインストールしました。

Notepad++ では、プラグイン マネージャーを使用して NppExec プラグインをインストールしました。

最初にコマンド ウィンドウでコードを手動でコンパイルすることで、コードを実行できます。Notepad++ はライブラリが見つからないと訴えるので、コンパイル時に次のフラグを使用しています: g++ test.cpp -static-libgcc -static-libstdc++

Notepad++ で F5 キーを押す (または [実行] メニューの [実行] をクリックする) と、コマンド ライン コンパイルから作成された a.exe ファイルを選択でき、コマンド ウィンドウがポップアップしてそのコードが実行されるので、問題なく動作します。

しかし、コンパイル/実行を自動化しようとすると、何らかの理由で NppExec でディレクトリの変更コマンドが機能しないようです。

同様の問題に対処していることがわかったが、私には当てはまらないと思われる他のスタックオーバーフローの投稿を次に示します。私はポイントを持っていないので、それらのいずれにも返信できません:

さて、私がリンクした最初の投稿には部分的な解決策があるようです - (投稿名に c ファイルが言及されているにもかかわらず) perl スクリプトをコンパイルする方法を要約しているように見えました。NppExecウィンドウに次を入れるように言われました:

NPP_SAVE
CD $(CURRENT_DIRECTORY)
C:\MinGW32\bin\gcc.exe -g "$(FILE_NAME)"
a.exe

最後の行に "a" があっただけですが、これは "a.exe" と同じであり、この方法の方が人間が読みやすいです。そうは言っても、これは完全な解決策ではありません。これは、画面の下部にあるNotepad ++の内部コンソールでファイルを実行するだけで、Notepad ++のF5を使用してコンパイルしたプログラムをそのディレクトリから実行した場合と同様に、ウィンドウをポップアップさせたいと思います。

4

5 に答える 5

9

ここから作業コード (少し編集したもの) を取得しました:
http://windowsbro.blogspot.hu/2012/10/compile-with-notepad-any-language.html

npp_save
g++ "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
npp_run $(CURRENT_DIRECTORY)\$(NAME_PART).exe

この形式では、ソース ファイルの次にバイナリをコンパイルします。最後の行を次のように変更すると:

cmd /c "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"

その後、プログラムは NppExec コンソールで running で実行されcmd.exeます。

于 2015-02-25T14:58:38.087 に答える
2

Notepad++のファンであり、C++ の初心者でもある私は、指示を理解して従うのに少し時間がかかりました。

ここに欠けている部分が 1 つあります。あなたが私のようであれば、MinGW コンパイラの知識がなく、最初からやり直す必要があります。最初にそれを設定することをお勧めします。

MinGW コンパイラが環境パスにない場合 (または、ポータブル バージョン/ポリシーの制限があることを希望しない場合)、これに従うことができます。


  1. mingw-get-setup.exeをインストールします。

  2. コアパッケージを選択し、それらがすべて同じバージョンであることを確認してください。そうしないと、stddef.hコンパイル/実行時にファイルが見つからないなどの奇妙なエラーが発生します。私は MinGW Installation Manager からこれらのものを選びました:

MinGW インストール マネージャー C++ コンポーネント

  1. Notepad++ でスクリプトを作成します。
npp_save
VCD C:\MinGW\bin\
g++ "$(FULL_CURRENT_PATH)" -o 
"$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
cmd /c "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
  1. Notepad++ 内でプログラムをコンパイルして実行します。 Notepad++ で C++ コードを実行する

  2. nppexec > Advanced Options から、直接実行ボタンまたはショートカット F5 を追加できます。実行ボタンはツールバーの端にある小さなボタンです: 実行ボタンとキーボードショートカットの追加

あるいは、コンパイルしたプログラムを任意の場所から実行したい場合は、MinGW を環境パスに追加することもできます。適切な説明は、Web サイトで見つけることができ ます。そうすれば、MinGW ディレクトリへのポイントをスキップできます。

cd C:\MinGW\bin\
于 2017-08-13T10:10:13.883 に答える
0

最後の質問に関して、メモ帳++コンソールではなく独自のウィンドウでa.exeを開始する方法:最後の行a.exeを次のようなものに置き換えてみてください:

NPP_RUN cmd /k a

npp_run は npp_exec のコマンドで、ここでコマンド「cmd /k a」を起動し、cmd /k は「/k」に続くコマンドを実行し、a.exe が終了した後もウィンドウを開いたままにします。

于 2015-01-24T23:29:04.957 に答える