Bekomme Hello World nicht zum laufen
-
Hi,
ich arbeite mich gerade in C++ ein. Wünscht mir Durchhaltevermögen.
Ich habe mit der IDE NETBeans angefangen. (Windows 7 64-Bit)
Für den Code:int main(int argc, char**argv) { // Prints hello message... std::cout << "Hello CMake World!" << std::endl; return 0; }
bekomme ich folgende Fehlermeldung:
cd 'C:\Users\Benno\Documents\NetBeansProjects\HelloCMakeWorld_1\build\Debug'
cmake -G Unix Makefiles -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=C:/MinGW/bin/gcc.exe -DCMAKE_CXX_COMPILER=C:/MinGW/bin/g++.exe -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../..
Cannot run program "cmake" (in directory "C:\Users\Benno\Documents\NetBeansProjects\HelloCMakeWorld_1\build\Debug"): CreateProcess error=2, Das System kann die angegebene Datei nicht findenPRE-BUILD FAILED (exit value -2, total time: 62ms)
Ich hatte mir eigentlich diese Video
https://www.youtube.com/watch?v=IJeqADYg4l0
angeschaut um MinGW richtig zu installieren. Aber irgendetwas stimmt noch nicht.
Was bedeutet eigentlich exit_value -2?
Wie analysiert ihr normalerweise Fehlermeldungen?
Wisst Ihr wie ich diese Fehler beheben kann? Vielen Dank für Eure Hilfe.
-
Es hat sich etwas geändert. Jetzt benutze ich die IDE dev c++ und der code
#include <iostream> #include <limits> using namespace std; void wait(){ cin.clear(); cin.ignore(numeric_limits<streamsize>::max()); cin.get(); } int main() { std::cout<< "Hello World!"<< std::endl; wait(); }
kompiliert ohne probleme. Da bin ich froh
Aber mein Programm schließt sofort. Das heißt ich sehe nixdie veränderungen von
https://www.c-plusplus.net/forum/111042-full
habe ich bereits in den Code eingebaut. Und von System(„pause“) halte ich mich wie es im Link steht brav fern, denn es ist ja böse^^ Wisst ihr wie ich das sofortige schließen sonst noch verhindern könnte?
-
Vom devC++ rate ich dir ab, nimm eher codeBlocks oder gleich visual studio.
-
okay, ich habe jetzt codeblocks und auch hello world zum laufen bekommen.
Jetzt wollte ich mir ein anderes Problem vornehmen:
Ich möchte mit Probedivision die Primfaktoren einer Zahl in einem Array speichern.
Der Code sieht bisher so aus:#include <iostream> #include <math.h> int main(int argc, char**argv) { // Prints hello message... std::cout << "Hello CMake World!" << ","; int i=2; int s=600851475143; int savePrime [40]; int * pointSave=savePrime; while(i<sqrt(600851475143)) { while(s%i==0){ *pointSave=i; pointSave++; std::cout << i << ","; s=s/i; } i++; } return 0; }
nur kommt bei der Ausführung nur wieder das "Hello World", obwohl eigentlich auch die Teiler i ab und zu ausgegeben werden sollten. Irgendwelche Ideen, warum es nicht geht?
-
Wow, Netbeans und DevC++ - ist dann ja im Visual C++ Forum goldrichtig.
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (alle ISO-Standards) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Gib mal statt des "," ein "\n" aus.
(und wenn du den C++ statt des Code-Buttons anklickst, wird der Code auch bunt)
-
ja, habe die "," durch "\n" ersetzt.
der code#include <iostream> #include <math.h> int main(int argc, char**argv) { // Prints hello message... std::cout << "Hello CMake World!" << "\n"; int i=2; int s=600851475143; int savePrime [40]; int * pointSave=savePrime; while(i<sqrt(600851475143)) { while(s%i==0){ *pointSave=i; pointSave++; std::cout << i << "\n"; s=s/i; } i++; } return 0; }
liefert den output (bild im link)
http://www.fotos-hochladen.net/view/outputgktjuxqym5.pngwarum wird der untere code ignoriert? Vielen Dank für Eure Hilfe
-
Deine Zahl ist wahrscheinlich zu groß für einen int. Hast du alle Compilerwarnungen an?
-
600851475143 braucht 40-Bit zur Darstellung.
int
ist unter Windows i.A nur 32-Bit breit (und da kommt noch das Vorzeichen weg)Du musst dir einen anderen Datentyp für s suchen.
Oder mit einem kleineren Wert arbeiten.
-
roflo schrieb:
Deine Zahl ist wahrscheinlich zu groß für einen int.
Eindeutig, 39,xy Bits... Wie gesagt, Warnungen an! In meinen CodeBlocks (keine Ahnung wie aktuell) unter -->Settings -->Compiler -->"Enable all common compiler warnings [-Wall]".
-
Ok, hatte die ganze Zeit in Codeblocks auf den "Run"-Button (sieht so ähnlich wie in eclipse mit java. so kann man sich täuschen O_O) statt auf "Build and Run"-Button.
Zum Glück gibt es jetzt Fehlermeldungen!
Es stimmt, dass die Zahl 600851475143 zu groß für den int Datentyp ist.
Habe den long long Datentyp entdeckt, dessen Maximum größer als 600851475143 ist.
Habe mein Problem jetzt gelöst. Danke für Eure Geduld und Hilfe.