报错代码大致如下:

cannot open output file a.exe
: Permission denied
collect2.exe: ld returned 1 exit status

我试过手动编译没问题,就是用NotePad++(x86/32位的)运行编译才有这个报错的,大致原因应该是默认NotePad++编译的出来的a.exe生成在安装NotePad++的目录里面,所以没有权限,翻译大概意思就是:无法打开输出文件a.exe到工作目录,就是默认NotePad++编译输出a.exe到NotePad++安装目录又没你权限。
如图:
NotePad++运行gcc编译cmd报错.jpg


win10用户账户控制取消

鼠标在“此电脑”处点击右键,选择“属性”。

进入“系统”后,点击左下角的“安全性与维护”。

进入“安全性与维护”的页面后,点击“安全”向下的箭头图标。

找到“用户账户控制(UAC)”,点击“更改设置”。

进入“用户账户控制设置”的页面后,将左侧的滑块拉至最下面“从不通知”,点击确定,则win10用户账户控制取消成功。

如下图:
win10用户账户控制取消.jpg

有的不用上面那一步直接右键管理员运行就好了,如下:

然后在win10电脑桌面右键先以管理员运行打开NotePad++,再用NotePad++打开你的c文件代码运行编译就好了,下次你想用NotePad++写c编译也是先以管理员打开NotePad++(也可以右键这个软件,属性,兼容性,勾选(以管理员身份运行此程序)可以永久直接以管理员打开程序),跟别的ide差不多,也要先打开ide!

NotePad++运行cmd用gcc编译大致代码如下:

cmd /k gcc $(FULL_CURRENT_PATH) & PAUSE & EXIT
cmd /k gcc $(FULL_CURRENT_PATH)  &echo.  & echo 文件目录:"$(FULL_CURRENT_PATH)"&echo. &echo a.exe目录:C:\Program Files (x86)\Notepad++&echo. &echo 按任意键退出........... & pause>nul & EXIT

NotePad++运行编译出来的a.exe文件在NotePad++目录里面!


下面这个可以直接在cmd下面看到打印结果,.exe文件生成在c源码文件的文件夹里面,命名也是和c的源码文件命名一样的!
参考

NotePad++运行gcc在cmd里面打印和输出exe

cmd /k cd /d "$(CURRENT_DIRECTORY)" &  g++ "$(FILE_NAME)" -o $(NAME_PART).exe  & $(NAME_PART).exe & PAUSE & EXIT

NotePad++运行cmd输出参考