Vscode-code-runner: C / C ++: невозможно скомпилировать или запустить, если в пути к исходному файлу есть пробелы

Созданный на 1 февр. 2018  ·  23Комментарии  ·  Источник: formulahendry/vscode-code-runner

Я создал файл
D:\Program\USACO\[C2, S3.2] Magic Square.cpp

Но когда я компилирую,
произошли некоторые ошибки:

[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.

ОС: Win7 SP1
VSCode: 1.19.3
Бегун: 0.8.7 5beeedfa674b330537448162dfe9c2330c7eda50

Самый полезный комментарий

Если вы используете Windows, попробуйте настроить такие параметры:

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

Обратите внимание на лишний символ '&' .

Если вы используете систему на основе Unix, попробуйте это (я не тестировал, но думаю, что это сработает):

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

Все 23 Комментарий

Та же проблема.
После изменения конфигурации следующим образом:

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

Я могу успешно запустить первые две команды, но не сработает для последней команды ($ dir $ fileNameWithoutExt).

Вот результат.
image

@Michany Попробуйте изменить $dir$fileNameWithoutExt на $fileNameWithoutExt ?

@ hanghang0702 извините, я опоздал, @Michany, вы забыли escape-символы, @formulahendry, это не проблема в системе на базе * nix, с которой запускается исполняемый файл ./"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\"",}

Я не пользователь Windows, и я не уверен, будет ли он работать в Windows (вам, вероятно, придется настроить / изменить некоторые escape-символы или что-то подобное).
Я очень надеюсь, что они отредактируют и исправят это в следующих версиях.

Здесь та же проблема.

Когда я запускаю код C в терминале bash. Я получаю это:
bash: cd: d: \ VscodeProjectC \ demo "&& gcc file1.c -o file1 && _d: VscodeProjectCdemo" file1_ : Нет такого файла или каталога
Очевидно, последняя команда не распознается правильно. Как это исправить?

Привет!

У меня такая же проблема в Mac OS X. Какое решение этой ошибки?
Если я переименую Example 1.cpp в Example1.cpp или Example_1.cpp, он будет работать нормально ...

Спасибо!

Если вы используете Windows, попробуйте настроить такие параметры:

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

Обратите внимание на лишний символ '&' .

Если вы используете систему на основе Unix, попробуйте это (я не тестировал, но думаю, что это сработает):

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

image

Здравствуйте, у меня такая же проблема. Я использую Windows, пытаюсь запустить простую программу на C ++, у меня нет пробелов в пути или имени файла.

[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.

Если я скопирую команду как есть и вставлю ее в cmd.exe, она будет работать без проблем: /

Я внес изменения, как предлагали другие, но ничего не помогло.

РЕДАКТИРОВАТЬ: Решено! Вот как, может быть, это поможет другим:

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

Привет...
я не могу найти код-бегун, исполнитель
куда именно я вставляю этот фрагмент кода ...
в settings.json? ... не получилось воткнуть туда код ... :(

Привет...
я не могу найти код-бегун, исполнитель
куда именно я вставляю этот фрагмент кода ...
в settings.json? ... не получилось воткнуть туда код ... :(

Да в settings.json.

Вместо этого я наконец использовал эту команду:

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

Вот выдержка из моего 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",

Я считаю, что у меня тоже есть эта проблема. Есть ли планы по ее разрешению? Вот мои результаты:
$ 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

Здравствуйте, после долгих попыток я нашел решение, надеюсь, это поможет другим

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

Здравствуйте, после долгих попыток я нашел решение, надеюсь, это поможет другим

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

Куда это добавить ?? В файле settings.json в .vscode ?? или еще где-нибудь?

image

-> Да, вам нужно скопировать это в свой settings.json (точно в вашу карту исполнителя) на vscode, я собираюсь прикрепить фотографию

Windows Ребята!
Просто скопируйте Past This в свой файл settings.json

Я провел много исследований, и это наверняка сработает

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

Если вы используете Windows, попробуйте настроить такие параметры:

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

Обратите внимание на лишний символ '&' .

Если вы используете систему на основе Unix, попробуйте это (я не тестировал, но думаю, что это сработает):

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

это сработало для меня. Теперь я могу компилировать и запускать файлы c cpp и java ('&' не требуется в java, хотя, если кому-то интересно)

Если вы используете Windows, попробуйте настроить такие параметры:

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

Обратите внимание на лишний символ '&' .

Если вы используете систему на основе Unix, попробуйте это (я не тестировал, но думаю, что это сработает):

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

Это решение работает !! Наконец, моя программа на c могла быть скомпилирована и запущена. Спасибо!

Это действительно помогло, спасибо!
Я в винде

ПОЖАЛУЙСТА, ПОМОГИТЕ !!! 😭 У меня та же ошибка.

{
    "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,

}

Это и все равно я получаю ту же ошибку.

2020-11-04_020713

И мои переменные среды:

2020-11-04_020930

И на всякий случай, если у кого-то возникнут сомнения по поводу моих файлов и тому подобного ...

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

@ tripathi-abhishek используйте это

Если у вас возникнут проблемы с ошибкой bash, например «bash: cd: слишком много аргументов»
2020-11-07 (5)

Исправлено: -
Перейдите в настройки кода Visual Studio для бегуна кода и замените пару значений ключа cpp в code-runner.executorMap следующим образом: -
"code-runner.executorMap": {
"cpp": "g ++ $ fileName -o $ fileNameWithoutExt.exe && './$fileNameWithoutExt.exe'"
}

Скриншот S
замените пару значений ключа cpp приведенным ниже кодом в "code-runner.executorMap", например: -
2020-11-07 (3)

@ VipulKhandelwal1999 спасибо, что сработало!

image

@ushakhanal прочитал мои комментарии. Я уже объяснял, что делать в случае ошибки «слишком много аргументов».

Была ли эта страница полезной?
0 / 5 - 0 рейтинги