ubuntuusers.de

/bin/bash: msbuild: Befehl nicht gefunden - VS Code C++

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

Data2006

Anmeldungsdatum:
7. November 2021

Beiträge: 899

Moin zusammen,

ich habe eben einen neuen Fehler gefunden in VS Code (Version) 1.73.1:

Task wird ausgeführt: msbuild /property:GenerateFullPaths=true /t:build /consoleloggerparameters:NoSummary 

/bin/bash: msbuild: Befehl nicht gefunden

 *  Der Terminalprozess "/bin/bash '-c', 'msbuild /property:GenerateFullPaths=true /t:build /consoleloggerparameters:NoSummary'" konnte nicht gestartet werden (Exitcode: 127). 
 *  Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste. 

Ich wollte ein Build (Menü Terminal/Buildaufgabe ausführen) für dieses C++-Programm ausführen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <math.h>

int main()
{
    int p, q;
    int x1, x2;

    std::cout << "\t\t\tLösung einer quadratischen Gleichung mit der pq-Formel"
              << std::endl << std::endl;
    std::cout << "x^2 + p.q +q = 0" << std::endl;
    std::cout << "Geben Sie den Wert für p ein: ";
    std::cin >> p;
    std::cout << "Und nun den Wert für q ein: ";
    std::cin >> q;

    x1 = (-1) * p / 2 + sqrt(p*p/4 + (-1)*q);
    x2 = (-1) * p / 2 - sqrt(p*p/4 + (-1)*q);

    std::cout << std::endl << std::endl << "x1 = " << x1 << std::endl;
    std::cout << "x2 = " << x2 << std::endl;

    return 0;
}

Das Programm läuft auf iPad einwandfrei.

Was kann ich hier tun? Hat das was mit meinem Crash (s. Programme/VirtualBox - Kritischer Fehler bei Programmstart) wegen dem virt. Win7 zutun?

Lieben Dank, Heiko

Bearbeitet von rklm:

Sytaxhighlighting. Bitte beachte Forum/Syntax und nutzte die Vorschaufunktion!

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17605

Wohnort: Berlin

Was soll das denn sein, msbuild? Nicht etwa ein Buildscript für eine MicroSoft-Umgebung, oder?

Da msbuild nicht wie bash-interner Befehl aussieht müsste es ein Programm sein und im Pfad auffindbar sein. Hast Du mal locate msbuild eingegeben? Ein which msbuild muss ja scheitern, sonst würde die Bash das ja finden.

Data2006

(Themenstarter)

Anmeldungsdatum:
7. November 2021

Beiträge: 899

Moin.

Ich weiß es auch nicht. Ich denke das gehört zum VS Code. MS wohl Microsoft und build für etwas herstellen/bauen. VS Code ist ja von MS.

Der Befehl findet nix:

heiko@Worf:~$ locate msbuild
heiko@Worf:~$ 

LG Heiko

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17605

Wohnort: Berlin

Dann musst Du wohl VS-Code so anpassen, dass es entweder nicht msbuild findet, sondern einen geeigneten Ersatz, oder dass Du den geeigneten Ersatz "msbuild" herstellst und so nennst und im Pfad auffindbar machst - letzteres würde ich eher nicht machen, wenn kein MS-spezifisches Build werden soll.

Früher, als ich noch C++ benutzt habe, hat man da als Buildwerkzeug make benutzt. Du bist aber sicher nicht der erste, der VScode unter Linux für C++-Entwicklung benutzt und müsstest da im Netz auch Hilfestellungen von Leuten finden, die da mehr up-to-date sind als ich.

Meine Empfehlung sonst wäre, ein Makefile zu machen und aus VScode make aufzurufen, und das sollte per default dann compilieren, evtl. auch gleich linken und ausführen.

Antworten |