フラッシュ ドライブのNotepad++からCおよびC++コードをコンパイルして実行できるようにしたかった( PortableApps.comを使用)。MinGWを入手してフラッシュ ドライブに配置し、 This Guy のNppExecスクリプトを調整してフラッシュ ドライブで動作するようにしました。
渡すと%CD:~0,2%
、コマンドではなく文字列として受け取ります。したがって、コマンドは次のとおりです。
cd %CD:~0,2%\MinGW\bin\
書かれているとおりに試行されます。%CD:~0,2%
をドライブ文字に変換しようとしません。したがって、誰かがドライブ文字をより適切に取得する方法を見つけるのを手伝ってくれれば、それは素晴らしいことです.
MinGW\bin\
また、システム変数に追加するだけではない理由は、私の学校のコンピューターには、私がそうするのを防ぐセキュリティ ソフトウェアがあるからです。そして、私はまだドライブ文字が必要です。
私の問題の理由についての私の仮定は、NppExecが兆候をどう処理するかを知らないということです%
。誰かがこれを回避する方法を知っていれば...?
完全なコードは次のとおりです。
npp_save
cd %CD:~0,2%\MinGW\bin\
g++ "$(FULL_CURRENT_PATH)" -o $(NAME_PART) -march=native -O2
cmd /c move /Y $(NAME_PART).exe $(CURRENT_DIRECTORY)\$(NAME_PART).exe
NPP_RUN $(CURRENT_DIRECTORY)\$(NAME_PART).exe
出力は、 NppExecがディレクトリ変更コマンドを明確に無視していることを示しています。出力は次のとおりです。
NPP_SAVE: G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.c
CD: %CD:~0,2%\MinGW\bin\
Current directory: G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA
g++ "G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.c" -o JesseM_Assign02_RPS_Game -march=native -O2
CreateProcess() failed with error code 2:
The system cannot find the file specified.
cmd /c move /Y JesseM_Assign02_RPS_Game.exe G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.exe
Process started >>>
The system cannot find the file specified.
<<< Process finished. (Exit code 1)
NPP_RUN: G:\Documents\ColumbiaCollege\C++CmpSc27\Assigns\Assign02-PRSA\JesseM_Assign02_RPS_Game.exe
- the specified file was not found
================ READY ================