Încerc să învăț să programez în C++, deoarece momentan abia cunosc limbajul. Am descărcat Visual Studio Express 2017 și am făcut un program foarte simplu. HelloWorld.cpp
fișier, dar primesc eroarea prezentată mai jos.
Am verificat sintaxa de mai multe ori, dar nu văd o eroare în codul în sine, ceea ce mă face să cred că ar fi putut fi o problemă la instalarea în sine. Cu toate acestea, deoarece sunt foarte nou în VSE, nici măcar nu știu de unde să încep să remediez această problemă. Dacă ați putea să-mi dați o mână de ajutor, ar fi minunat.
Mesajul de eroare:
[3/24/2018 6:49:30 PM Error] System.ArgumentNullException: Value cannot be null.
Parameter name: solutionDirectory
at Microsoft.VisualStudio.TestPlatform.ObjectModel.ValidateArg.NotNull[T](T arg, String parameterName)
at Microsoft.VisualStudio.TestWindow.Controller.TestRunConfiguration..ctor(TestContainerConfigurationQuery testRunQuery, String resultsDirectory, String solutionDirectory, Boolean ignoreDiscovery, ILogger logger, Boolean keepAlive)
at Microsoft.VisualStudio.TestWindow.Controller.RequestConfigurationFactory.CreateTestRunConfigurationBase(TestContainerConfigurationQuery query, Boolean ignoreDiscovery)
at Microsoft.VisualStudio.TestWindow.Controller.RunAllOperation.CreateRunConfiguration()
at Microsoft.VisualStudio.TestWindow.Controller.RunOperation.get_RunConfiguration()
at Microsoft.VisualStudio.TestWindow.Controller.RunOperation.<RunTestsAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.TestWindow.Controller.RunOperation.<ExecuteInternal>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.TestWindow.Controller.Operation.<ExecuteWithEvents>d__40.MoveNext()
Codul în sine, dacă doriți să confirmați că nu este nimic în neregulă cu el:
// HelloWorld.cpp
#include <iostream>
int main()
{
std::cout << "Hello, World!" << std::endl;
return 0;
}
Problema nu este cu codul tău. De asemenea, instalarea ar trebui să fie în regulă. Cred că nu ai configurat corect proiectul C++. Consultați acest tutorial, , care explică fiecare pas cu privire la modul de generare a unui proiect C++ Hello World valid în Visual Studio 2017.
- Vă mulțumim! Am urmat tutorialul și pare să funcționeze mult mai bine. Primesc următoarele mesaj în Debugger – ar trebui să-mi fac griji în legătură cu asta? (Notă laterală: tutorialul original la care mă refeream nu avea
#include "stdafx.h"
linie, ce face asta?) – > . - Bun! Fișiere PDB sunt fișiere speciale care sunt generate atunci când construiți, astfel încât să puteți să vă potriviți executabilul cu fișierele sursă și, prin urmare, să depanați. Se pare că nu v-ați setat proiectul astfel încât să fie generate fișiere PDB și, prin urmare, depanarea nu funcționează. În ceea ce privește
stdafx.h
, , acesta este un antet specific Microsoft, dar nu aveți nevoie de el pentru programul dumneavoastră. Dacă aveți nevoie de mai multe detalii, vă sugerez să faceți întrebări separate. – > . - BTW nu vă fie teamă să căutați pe web pe Visual Studio, Microsoft are o documentație online excelentă în acest sens. – > .
Attach to process
. Ar trebui să se citeascărun
/start
saudebug
– > Por rollstuhlfahrer.file->new->project->visual c++->win32->win32 console application -> finish
și inserați codul build and run. Nu eliminați#include "stdafx.h".
Pentru că ar trebui sălocal windows debugger
nuattach.
– > Por Raindrop7.