如果不提供“.exe”,Cmd 无法 运行 我的可执行文件
Cmd cannot run my executable without providing ".exe"
所以我使用 mingw gcc 编译器编译并链接了一个名为 "embed.exe" 的程序,但 cmd 要求我使用 "embed.exe" 而不是 "embed" 到 运行它。
D:\c\embed\bin\release>embed
'embed' is not recognized as an internal or external command,
operable program or batch file.
D:\c\embed\bin\release>embed.exe
Usage: embed [-h] <input>
我希望仅通过输入 "embed" 即可 运行。这只发生在我的程序中。是的,pathext 确实包含 .exe.
所以这让我觉得 mingw 输出有问题,好像如果我不指定 .exe,cmd 就不能识别它是一个 exe。
这是我所有的编译器标志:
-std=gnu11 -march=x86-64 -msse3
-Werror -Wall -Wextra -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wpedantic -Wno-format
-flto
-g -D_DEBUG -DDEBUG -Og
-Wl,-subsystem,console
继续阅读 PATHEXT。 . .它是一个可选的 CMD 环境变量,可以在这里为您提供帮助。
事实上,假设一个 *.EXE 文件不工作,我猜你可能已经有了那个变量,但它不包括列表中的 EXE。
弗兰克
原来问题不在于 mingw,而在于我如何创建 bin
目录。
当我在 windows 上使用 bash 来 mkdir 目录时出现问题,但是如果我使用 windows' mkdir,它会起作用。谁会想到...
如何重现错误:
目录:
embed
|-->main.c
CD 到嵌入目录。
> gcc -c main.c -o main.o
> bash -c "mkdir bin"
> gcc -o bin/embed.exe main.o -Wl,-subsystem,console
> cd bin
> embed
'embed' is not recognized as an internal or external command,
operable program or batch file.
cd 返回并删除 bin
> mkdir bin
> gcc -o bin/embed.exe main.o -Wl,-subsystem,console
> cd bin
> embed
Usage: embed [-h] <input>
所以我使用 mingw gcc 编译器编译并链接了一个名为 "embed.exe" 的程序,但 cmd 要求我使用 "embed.exe" 而不是 "embed" 到 运行它。
D:\c\embed\bin\release>embed
'embed' is not recognized as an internal or external command,
operable program or batch file.
D:\c\embed\bin\release>embed.exe
Usage: embed [-h] <input>
我希望仅通过输入 "embed" 即可 运行。这只发生在我的程序中。是的,pathext 确实包含 .exe.
所以这让我觉得 mingw 输出有问题,好像如果我不指定 .exe,cmd 就不能识别它是一个 exe。
这是我所有的编译器标志:
-std=gnu11 -march=x86-64 -msse3
-Werror -Wall -Wextra -Wno-unused-parameter -Wno-missing-braces
-Wno-missing-field-initializers -Wpedantic -Wno-format
-flto
-g -D_DEBUG -DDEBUG -Og
-Wl,-subsystem,console
继续阅读 PATHEXT。 . .它是一个可选的 CMD 环境变量,可以在这里为您提供帮助。
事实上,假设一个 *.EXE 文件不工作,我猜你可能已经有了那个变量,但它不包括列表中的 EXE。
弗兰克
原来问题不在于 mingw,而在于我如何创建 bin
目录。
当我在 windows 上使用 bash 来 mkdir 目录时出现问题,但是如果我使用 windows' mkdir,它会起作用。谁会想到...
如何重现错误:
目录:
embed
|-->main.c
CD 到嵌入目录。
> gcc -c main.c -o main.o
> bash -c "mkdir bin"
> gcc -o bin/embed.exe main.o -Wl,-subsystem,console
> cd bin
> embed
'embed' is not recognized as an internal or external command,
operable program or batch file.
cd 返回并删除 bin
> mkdir bin
> gcc -o bin/embed.exe main.o -Wl,-subsystem,console
> cd bin
> embed
Usage: embed [-h] <input>