Visual studio code arm none eabi gcc的任务配置

Visual studio code arm none eabi gcc的任务配置,visual-studio-code,Visual Studio Code,我正在寻找帮助,以便正确配置task.json文件以使用arm-none-eabi-gcc编译器构建C/C++项目 我可以从命令行将C-project编译为arm none-eabi-gcc-specs=nosys.specs hello\u C.C-o hello\u C.out 但是在vscode “版本”:“2.0.0”, “任务”:[ { “类型”:“cppbuild”, “标签”:“arm none eabi gcc生成活动文件”, “命令”:“c:\\ProgramFiles(x86

我正在寻找帮助,以便正确配置task.json文件以使用
arm-none-eabi-gcc
编译器构建C/C++项目

我可以从命令行将C-project编译为
arm none-eabi-gcc-specs=nosys.specs hello\u C.C-o hello\u C.out

但是在
vscode

“版本”:“2.0.0”,
“任务”:[
{
“类型”:“cppbuild”,
“标签”:“arm none eabi gcc生成活动文件”,
“命令”:“c:\\ProgramFiles(x86)\\GNU Arm Embedded Toolchain\\9 2020-q2-update\\bin\\Arm none eabi gcc.exe”,
“args”:[
“-specs=nosys.specs”,
“${file}”,
“-o”,
“${fileDirname}\\\${fileBasenameNoExtension}.bin”
],
“选择”:{
“cwd”:“c:\\ProgramFiles(x86)\\GNU Arm嵌入式工具链\\9 2020-q2-update\\bin”
},
“问题匹配者”:[
“$gcc”
],
“集团”:{
“种类”:“建造”,
“isDefault”:正确
},
“详细信息”:“编译器:c:\\Program Files(x86)\\GNU Arm Embedded Toolchain\\9 2020-q2-update\\bin\\Arm none eabi gcc.exe”
}
]
}
它输出

> Executing task: arm-none-eabi-gcc build active file <

Starting build...
Build finished with error:
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-exit.o): in function `exit':
exit.c:(.text.exit+0x2c): undefined reference to `_exit'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-sbrkr.o): in function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0x18): undefined reference to `_sbrk'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-writer.o): in function `_write_r':
writer.c:(.text._write_r+0x28): undefined reference to `_write'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-closer.o): in function `_close_r':
closer.c:(.text._close_r+0x18): undefined reference to `_close'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-lseekr.o): in function `_lseek_r':
lseekr.c:(.text._lseek_r+0x28): undefined reference to `_lseek'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-readr.o): in function `_read_r':
readr.c:(.text._read_r+0x28): undefined reference to `_read'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-fstatr.o): in function `_fstat_r':
fstatr.c:(.text._fstat_r+0x20): undefined reference to `_fstat'
c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files (x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/lib\libg.a(lib_a-isattyr.o): in function `_isatty_r':
isattyr.c:(.text._isatty_r+0x18): undefined reference to `_isatty'
collect2.exe: error: ld returned 1 exit status

The terminal process failed to launch (exit code: -1).
>正在执行任务:arm none eabi gcc生成活动文件<
正在开始生成。。。
生成已完成,但出现错误:
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/lib/lib\lib\lib.a(lib\a-exit.o):函数“退出”
exit.c:(.text.exit+0x2c):对“\u exit”的未定义引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/。/lib/gcc/arm none-eabi/9.3.1/。/../../../../../../arm none-eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/。/lib/gcc/arm none-eabi/9.3.1/../../../../../../arm none-eabi/lib/lib\lib\lib(lib a-sbrkr.o):在函数中:
sbrkr.c:(.text.\u sbrk\u r+0x18):未定义对“\u sbrk”的引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/lib/lib\lib\lib.a-writer(lib-writer.o):在函数中:
writer.c:(.text.\u write\u r+0x28):未定义对“u write”的引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none eabi/9.3.1/../../../../../../../arm none eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none eabi/9.3.1/../../../../../../../arm none eabi/lib\lib\lib\lib a-closer.o:函数中的
closer.c:(.text.\u close\u r+0x18):对“u close”的未定义引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../../arm none-eabi/lib\lib\lib\lib(lib a-lseekr.o):在函数中:
lseekr.c:(.text._lseek_r+0x28):未定义对“_lseek”的引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/lib/lib\lib\lib(lib-a-readr.o):在函数中:
readr.c:(.text.\u read\u r+0x28):未定义对“u read”的引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../arm none-eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none-eabi/9.3.1/../../../../../../../../arm none-eabi/lib/lib\lib\lib(lib a-fstatr.o):在函数中:
fstatr.c:(.text.\u fstat\u r+0x20):对“\u fstat”的未定义引用
c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none eabi/9.3.1/../../../../../../../arm none eabi/bin/ld.exe:c:/program files(x86)/gnu arm embedded toolchain/9 2020-q2-update/bin/./lib/gcc/arm none eabi/9.3.1/../../../../../../../arm none eabi/lib\lib\lib\lib a-isattyr.o:
isattyr.c:(.text.\u isatty\u r+0x18):对“\u isatty”的未定义引用
collect2.exe:错误:ld返回了1个退出状态
终端进程启动失败(退出代码:-1)。

在我的例子中,我已经将“type”改为“shell”,并且成功了。与此处的示例任务相同:。看起来“cppbuild”类型当前已损坏,或者我们真的不知道如何正确使用它。

在我的例子中,我已将“type”更改为“shell”,并且工作正常。与此处的示例任务相同:。它看起来像“CPPPube”类型目前被打破,或者我们真的不知道如何正确使用它。

我和普通C++文件有相同的问题。我用输出命令行参数的脚本替换了编译器。看起来任务配置中的“args”被完全忽略了:我用一个普通的C++文件来解决这个问题。我用编译器输出了它的命令行参数来替换编译器。它看起来像“任务配置”中的“ARGS”被完全忽略了:(所以我确实替换了<代码>类型”:“shell”< /C> >但是错误一直存在……现在它工作了:我已经更改为<代码>类型:“shell”。和
“--specs=nosys.specs”,
使用双连字符:)谢谢。所以我确实替换了
的“type”:“shell”
,但错误一直存在……现在它起作用了:我更改了
“type”:“shell”
“--specs=nosys.specs”,
使用双连字符:)谢谢。