我正在阅读http://daleswanson.blogspot.com/2012/07/how-to-compile-c-code-in-notepad-with.html并决定尝试一下,这样我就可以继续在 Notepad++ 中编写代码并具有更短的编译/运行周期。
当我尝试将编译/运行代码输入 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
这是我为完成设置所做的工作:
我从http://sourceforge.net/projects/mingw/files/下载了 mingw-get-setup.exe,它安装了 MinGW 安装管理器。然后我用它来安装 mingw32-gcc-++ 包,以及 mingw32-libz.dll 和 mingw32-libz.dev 包
在 Notepad++ 中,我使用插件管理器来安装 NppExec 插件。
我可以通过首先在命令窗口中手动编译来运行我的代码。Notepad++ 抱怨它缺少一个库,所以我在编译时使用了以下标志: g++ test.cpp -static-libgcc -static-libstdc++
如果我在 Notepad++ 中按 F5(或单击运行菜单中的运行),我可以选择从我的命令行编译创建的 a.exe 文件,它会弹出一个命令窗口并运行该代码,这样就可以正常工作了。
但是当我尝试自动化编译/运行时,似乎我的更改目录命令在 NppExec 中由于某种原因不起作用。
这是我发现的其他一些 stackoverflow 帖子,它们解决了类似的问题,但似乎不适用于我。我没有任何积分,所以我无法回复其中任何一个:
- 如何使用 NppExec 插件在 Notepad++ 中编译和运行 C 文件?
- Notepad++ 中 gcc 的最终设置 [使用 nppexec]
- Notepad++、NppExec、CreateProcess() 失败,错误代码为 2,Windows 8.1
好吧,看起来我链接到的第一篇文章有一个部分解决方案——它看起来(尽管在文章名称中提到了 c 文件)它正在总结如何编译 perl 脚本。它说在 NppExec 窗口中放置以下内容:
NPP_SAVE
CD $(CURRENT_DIRECTORY)
C:\MinGW32\bin\gcc.exe -g "$(FILE_NAME)"
a.exe
它只是在最后一行有“a”,但这与“a.exe”相同,并且这种方式更易于人类阅读。话虽如此,这不是一个完整的解决方案。这只是在屏幕底部的 Notepad++ 的内部控制台中运行文件,我希望它弹出一个窗口,就像我使用 Notepad++ 的 F5 从它的目录运行我编译的程序一样。