Vscode-code-runner: C / C ++:ソースファイルのパスにスペースがある場合、コンパイルまたは実行できません

作成日 2018年02月01日  ·  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.

OS:Win7 SP1
VSCode:1.19.3
ランナー:0.8.7 5beeedfa674b330537448162dfe9c2330c7eda50

bug

最も参考になるコメント

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

最初の2つのコマンドは正常に実行できますが、最後のコマンド($ dir $ fileNameWithoutExt)では機能しません。

これが出力です。
image

@Michany $dir$fileNameWithoutExt$fileNameWithoutExtますか?

@ hanghang0702申し訳ありませんが、私は遅く、@Michanyあなた@formulahendry

"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で機能するかどうかはわかりません(おそらく、いくつかのエスケープ文字などを調整/変更する必要があります)。
私は彼らが次のバージョンでそれを編集して修正することを本当に望んでいます。

ここで同じ問題。

bashターミナルでCコードを実行すると。 私はこれを取得します:
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"
}

こんにちは...
code-runner、executorMapがどこにも見つかりません
このコードを正確にどこに貼り付けますか...
settings.jsonで? ...そこにコードを貼り付けても機能しませんでした... :(

こんにちは...
code-runner、executorMapがどこにも見つかりません
このコードを正確にどこに貼り付けますか...
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 ""、

これをどこに追加しますか? .vscodeのsettings.jsonファイルで?? またはどこか他の場所?

image

->ええ、それをvscodeのsettings.json(エグゼキュータマップに正確に)にコピーする必要があります。写真を添付し​​ます

Windows Guys!
これを過ぎて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プログラムをコンパイルして実行することができました。 ありがとう!

本当に助かりました、ありがとう!
私はWindowsを使用しています

助けてください!!!😭同じエラーが発生します。

{
    "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:cd:引数が多すぎます」などのbashエラーで問題が発生した場合
2020-11-07 (5)

修正者:-
コードランナーのビジュアルスタジオコード設定に移動し、code-runner.executorMapのcppキーと値のペアを次のように置き換えます:-
"code-runner.executorMap":{
"cpp": "g ++ $ fileName -o $ fileNameWithoutExt.exe && '。/ $ fileNameWithoutExt.exe'"
}

スクリーンショット:-
「コード・runner.executorMap」で下記のコードを使用して、CPPのキーと値のペアを交換するように: -
2020-11-07 (3)

@ VipulKhandelwal1999これがうまく

image

@ushakhanalは私のコメントを読んだ。 「引数が多すぎる」エラーが発生した場合の対処方法については、すでに説明しました。

このページは役に立ちましたか?
0 / 5 - 0 評価