Vscode-code-runner: C / C ++: não é possível compilar ou executar quando o caminho do arquivo de origem tem espaço (s)

Criado em 1 fev. 2018  ·  23Comentários  ·  Fonte: formulahendry/vscode-code-runner

Eu criei um arquivo
D:\Program\USACO\[C2, S3.2] Magic Square.cpp

Mas quando eu compilar,
alguns erros ocorreram:

[Running] cd "d:\Program\USACO\" && g++ [C2, S3.2] Magic Square.cpp -o [C2, S3.2] Magic Square && "d:\Program\USACO\"[C2, S3.2] Magic Square
g++: error: [C2,: No such file or directory
g++: error: S3.2]: No such file or directory
g++: error: Magic: No such file or directory
g++: error: Square.cpp: No such file or directory
g++: error: S3.2]: No such file or directory
g++: error: Magic: No such file or directory
g++: error: Square: No such file or directory
g++: fatal error: no input files
compilation terminated.

SO: Win7 SP1
VSCode: 1.19.3
Corredor: 0.8.7 5beeedfa674b330537448162dfe9c2330c7eda50

bug

Comentários muito úteis

Se você estiver usando o Windows, tente definir as configurações como esta:

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && & \"$dir$fileNameWithoutExt.exe\""
}

Preste atenção ao caractere '&' extra.

Se você estiver usando um sistema baseado em Unix, tente isto (não testei, mas acho que funcionaria):

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"$dir$fileNameWithoutExt\""
}

Todos 23 comentários

Mesmo problema.
Depois de modificar a configuração da seguinte forma:

"code-runner.executorMap": {
"cpp": "cd $ dir && g ++ \" $ fileName \ "-o \" $ fileNameWithoutExt \ "&& $ dir $ fileNameWithoutExt"}

Posso executar os dois primeiros comandos com sucesso, mas não funcionará para o último comando ($ dir $ fileNameWithoutExt).

Aqui está a saída.
image

@Michany Tente mudar $dir$fileNameWithoutExt para $fileNameWithoutExt ?

@ hanghang0702 desculpe, estou atrasado, @Michany você esqueceu os caracteres de escape, @formulahendry não é o problema no sistema baseado em * nix o arquivo executável é executado com ./"dir"filename,

"code-runner.executorMap": {
        "javascript": "node",
        "java": "cd $dir && javac \"$fileName\" && java \"./$fileNameWithoutExt\"",
        "c": "cd $dir && gcc \"$fileName\" -o \"$fileNameWithoutExt\" && \"./$fileNameWithoutExt\"",
        "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"./$fileNameWithoutExt\"",
        "objective-c": "cd $dir && gcc -framework Cocoa \"$fileName\" -o \"$fileNameWithoutExt\" && \"./$fileNameWithoutExt\"",}

Não sou um usuário do Windows e não tenho certeza se vai funcionar no Windows (você provavelmente precisará ajustar / alterar alguns caracteres de escape ou algo semelhante).
Eu realmente espero que eles editem e corrijam nas próximas versões.

O mesmo problema aqui.

Quando executo o código C no terminal bash. Eu entendi isso:
bash: cd: d: \ VscodeProjectC \ demo "&& gcc arquivo1.c -o arquivo1 && _d: VscodeProjectCdemo" arquivo1_ : Não
Obviamente, o último comando não é reconhecido corretamente. Como corrigi-lo?

Olá!

Eu tenho o mesmo problema no Mac OS X. Alguma solução para esse bug?
Se eu renomear o Exemplo 1.cpp para Exemplo1.cpp ou Exemplo_1.cpp, funciona bem ...

Obrigada!

Se você estiver usando o Windows, tente definir as configurações como esta:

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && & \"$dir$fileNameWithoutExt.exe\""
}

Preste atenção ao caractere '&' extra.

Se você estiver usando um sistema baseado em Unix, tente isto (não testei, mas acho que funcionaria):

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"$dir$fileNameWithoutExt\""
}

image

Olá, estou com o mesmo problema. Estou usando o Windows, estou tentando executar um programa C ++ simples, não tenho espaços em nenhum lugar no caminho ou nome do arquivo.

[Running] cd "c:\Users\Guillaume\Desktop\" && g++ test.cpp -o test && "c:\Users\Guillaume\Desktop\"test
g++: error: test.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.

Se eu copiar o comando como está e colá-lo em um cmd.exe, ele funcionará sem problemas: /

Fiz alterações conforme sugerido por outros, mas nada funcionou.

EDIT: Resolvido! Aqui está como, talvez ajude outros:

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ $dirWithoutTrailingSlash\\$fileName -o $fileNameWithoutExt && $fileNameWithoutExt"
}

Olá...
não consigo encontrar o executor de código, o executorMap em qualquer lugar
onde exatamente colo este trecho de código ...
em settings.json? ... não funcionou estar colando o código lá ... :(

Olá...
não consigo encontrar o executor de código, o executorMap em qualquer lugar
onde exatamente colo este trecho de código ...
em settings.json? ... não funcionou estar colando o código lá ... :(

Sim em settings.json.

Finalmente usei este comando:

"cpp": "cd $dir ; g++ $fileName -o $fileNameWithoutExt.exe ; .\\$fileNameWithoutExt.exe"

Aqui está um trecho do meu settings.json:

    "c-cpp-compile-run.cpp-compiler": "C:\\MinGW\\bin",
    "window.zoomLevel": -1,
    "code-runner.executorMap": {
        //"javascript": "node",
        //"php": "C:\\php\\php.exe",
        //"python": "python",
        //"perl": "perl",
        //"ruby": "C:\\Ruby23-x64\\bin\\ruby.exe",
        //"go": "go run",
        //"html": "\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
        //"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        //"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir ; g++ $fileName -o $fileNameWithoutExt.exe ; .\\$fileNameWithoutExt.exe"

    },
    "C_Cpp.default.cppStandard": "c++20",
    "C_Cpp.default.cStandard": "c11",

Eu acredito que também estou tendo esse problema. Existem planos para resolvê-lo? Aqui estão meus resultados:
$ cd "c:\Users\Jacob Armiger\Documents\cpp_files\" && g++ hello.cpp -o hello && "c:\Users\Jacob Armiger\Documents\cpp_files\"hello bash: cd: too many arguments

Olá, depois de tentar muito tempo encontrei a solução, espero que ajude outras pessoas

"cpp": "cd $ dir && g ++ \" $ fileName \ "-o \" $ fileNameWithoutExt \ "&&. \\" $ fileNameWithoutExt \ "",

Olá, depois de tentar muito tempo encontrei a solução, espero que ajude outras pessoas

"cpp": "cd $ dir && g ++" $ fileName "-o" $ fileNameWithoutExt "&&. \" $ fileNameWithoutExt "",

Onde adicionar isso ?? IN arquivo settings.json em .vscode ?? Ou em outro lugar?

image

-> Sim, você precisa copiar isso em seu settings.json (exatamente em seu mapa executor) no vscode, vou anexar uma foto

Pessoal do Windows!
Basta copiar o passado para o arquivo settings.json

Eu fiz muitas pesquisas e isso certamente funcionará

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"$fileNameWithoutExt\""
},

Se você estiver usando o Windows, tente definir as configurações como esta:

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && & \"$dir$fileNameWithoutExt.exe\""
}

Preste atenção ao caractere '&' extra.

Se você estiver usando um sistema baseado em Unix, tente isto (não testei, mas acho que funcionaria):

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"$dir$fileNameWithoutExt\""
}

isso funcionou para mim. Agora sou capaz de compilar e executar arquivos cpp e java c ('&' não é necessário em java, embora se alguém estiver se perguntando)

Se você estiver usando o Windows, tente definir as configurações como esta:

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && & \"$dir$fileNameWithoutExt.exe\""
}

Preste atenção ao caractere '&' extra.

Se você estiver usando um sistema baseado em Unix, tente isto (não testei, mas acho que funcionaria):

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"$dir$fileNameWithoutExt\""
}

Esta solução funciona !! Finalmente, meu programa c pode ser compilado e executado. Obrigado!

Ajudou muito, obrigado!
Estou no windows

POR FAVOR AJUDE !!! 😭 Estou recebendo o mesmo erro.

{
    "atomKeymap.promptV3Features": true,
    "editor.multiCursorModifier": "ctrlCmd",
    "editor.formatOnPaste": true,
    "python.pythonPath": "C:\\Users\\ABHISHEK\\anaconda3\\python.exe",
    "java.home": "C:\\Program Files\\Java\\jdk-12.0.2",
    "java.help.firstView": "gettingStarted",
    "workbench.iconTheme": "vscode-icons",
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "java.semanticHighlighting.enabled": true,
    "files.exclude": {
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
    },
    "python.jediEnabled": false,
    "python.dataScience.sendSelectionToInteractiveWindow": true,
    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    "python.languageServer": "Microsoft",
    "files.associations": {
        "*.cpp": "cpp"
    },
    "C_Cpp.updateChannel": "Insiders",
    "code-runner.executorMap": {


        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && & \"$dir$fileNameWithoutExt.exe\"",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir $fileNameWithoutExt",
        "php": "php",
        "python": "python -u",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",
        "go": "go run",
        "lua": "lua",
        "groovy": "groovy",
        "powershell": "powershell -ExecutionPolicy ByPass -File",
        "bat": "cmd /c",
        "shellscript": "bash",
        "fsharp": "fsi",
        "csharp": "scriptcs",
        "vbscript": "cscript //Nologo",
        "typescript": "ts-node",
        "coffeescript": "coffee",
        "scala": "scala",
        "swift": "swift",
        "julia": "julia",
        "crystal": "crystal",
        "ocaml": "ocaml",
        "r": "Rscript",
        "applescript": "osascript",
        "clojure": "lein exec",
        "haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
        "rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
        "racket": "racket",
        "scheme": "csi -script",
        "ahk": "autohotkey",
        "autoit": "autoit3",
        "dart": "dart",
        "pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        "d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
        "haskell": "runhaskell",
        "nim": "nim compile --verbosity:0 --hints:off --run",
        "lisp": "sbcl --script",
        "kit": "kitc --run",
        "v": "v run",
        "sass": "sass --style expanded",
        "scss": "scss --style expanded",
        "less": "cd $dir && lessc $fileName $fileNameWithoutExt.css"
    },
    "window.zoomLevel": 0,
    "files.autoSave": "onFocusChange",
    "diffEditor.ignoreTrimWhitespace": false,
    "[cpp]": {

        "editor.wordBasedSuggestions": false,
        "editor.suggest.insertMode": "replace",
        "editor.semanticHighlighting.enabled": true
    },
    "code-runner.runInTerminal": true,
    "code-runner.saveAllFilesBeforeRun": true,
    "settingsSync.ignoredSettings": [
        "-java.configuration.runtimes"
    ],
    "liveServer.settings.donotShowInfoMsg": true,
    "java.refactor.renameFromFileExplorer": "autoApply",
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[json]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "eslint.codeAction.showDocumentation": {

        "enable": true
    },
    "git.autofetch": true,
    "vsicons.dontShowNewVersionMessage": true,

}

Isso e ainda estou recebendo o mesmo erro.

2020-11-04_020713

E minhas variáveis ​​de ambiente:

2020-11-04_020930

E caso alguém tenha dúvidas sobre meus arquivos e tal ...

2020-11-04_021239
@formulahendry @HeyJayant @ kaushik-rishi

@ tripathi-abhishek use isto

Caso você tenha problemas com um erro bash como "bash: cd: muitos argumentos"
2020-11-07 (5)

Corrigido por: -
Acesse as configurações de código do Visual Studio para o executor de código e substitua o par de valores-chave cpp em code-runner.executorMap pelo seguinte: -
"code-runner.executorMap": {
"cpp": "g ++ $ fileName -o $ fileNameWithoutExt.exe && './$fileNameWithoutExt.exe'"
}

Captura de tela: -
substitua seu par de valores de chave cpp pelo código mencionado abaixo em "code-runner.executorMap" como: -
2020-11-07 (3)

@ VipulKhandelwal1999 obrigado funcionou!

image

@ushakhanal leu meus comentários. Já expliquei o que fazer em caso de erro de "muitos argumentos".

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

rickmed picture rickmed  ·  4Comentários

N2ITN picture N2ITN  ·  5Comentários

seiferthan picture seiferthan  ·  4Comentários

emadb picture emadb  ·  5Comentários

Kelo007 picture Kelo007  ·  3Comentários