logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Visual Studio 2005 - niekompatybilność z kodem z VS 6.0, błędy COUT i cin

nero123 18 Paź 2006 21:08 2013 11
REKLAMA
  • #1 3130202
    nero123
    Poziom 14  
    Posty: 150
    Ocena: 5
    Witam
    Mam taki mały problem z pisaniem małych aplikacji z tym środowisku.
    A głownie chodzi mi o to że stare programiki (czyli napisane w VS 6.0) nie działają na VS 2005. Dlaczego?? . Nie są to zaawansowane aplikacje raczej proste konsolowe. przykładem może być np: raport o błędzie mówiący że nie zidentyfikowano "COUT" lub "cin" a nie brakuje bibliotek we-wy (iostream.h).
    Czy może zmieniono coś w nowym kompilatorze?

    Bardzo proszę o pomoc w tym problemie
    Z góry dzięki
    Pozdrawiam Nero
  • REKLAMA
  • REKLAMA
  • #3 3130422
    nero123
    Poziom 14  
    Posty: 150
    Ocena: 5
    Witam
    Mam jeszcze jedno pytanie ?
    przy próbie kompilacji czegololwiek np:
    "
    #include <iostream.h>
    void main()
    {
    cout <<"hello \n"<<endl;
    }
    " wyskakuje mi okeinko że brakuje pliku wykonywalnego exe
    screen w załączniku!
    Prosze o pomoc bo nie wiem co jest nie tak
    Dzięki Paweł
    Załączniki:
    • foto.rar (67.8 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #4 3130479
    krzychoocpp
    VIP Zasłużony dla elektroda
    Posty: 1866
    Pomógł: 387
    Ocena: 58
    Witam, w takim razie należy sprawdzić czy plik rzeczywiście istnieje i czy kompiluje się poprawnie. Radziłbym skorzystać z funkcji "Rebuild solution" i po skończonej kompilacji (okno błędu sugeruje że VS nie znalazło pliku po kompilacji) obejrzeć log, powinna być w nim podana lokalizacja pliku wyjściowego i wszelkie błędy.

    Pozdrawiam, Krzysztof.
  • #5 3130571
    nero123
    Poziom 14  
    Posty: 150
    Ocena: 5
    Oto log:

    ------ Rebuild All started: Project: pierwsza, Configuration: Debug Win32 ------
    Deleting intermediate and output files for project 'pierwsza', configuration 'Debug|Win32'
    pierwsza - up-to-date
    ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========



    a exe dalej nie ma i komunikat jest dalej ten sam.
  • REKLAMA
  • Pomocny post
    #6 3130619
    krzychoocpp
    VIP Zasłużony dla elektroda
    Posty: 1866
    Pomógł: 387
    Ocena: 58
    Witam, wygląda na to że nie masz żadnego pliku żródłowego w projekcie. W oknie "Solution Explorer" w gałęzi "Solution 'pierwsza'->pierwsza->Source files" jest lista tych plików. Kliknij prawym przyciskiem na "Source Files" a pojawi się menu, będzie tam opcja dodania plików.

    Jeśli klikniesz PPM na 'pierwsza', pojawi się podobne menu, ale dodane pliki automatycznie trafią do dobrej kategorii.

    Pozdrawiam, Krzysztof.
  • #7 3130678
    nero123
    Poziom 14  
    Posty: 150
    Ocena: 5
    Witam
    Dzięki wielkie za to że jeszcze odpowiadasz na moje głupie pytania, no ale wiesz hakerem to ja nie jestem ;)
    Faktycznie w gałezi Source Files nic nie było. Wiec dodałem plik 1.cpp i wpisałem ten algorytm co poprzednio. ale pojawiły sie błedy przy kompilacji:

    ----- Rebuild All started: Project: pierwsza, Configuration: Debug Win32 ------
    Deleting intermediate and output files for project 'pierwsza', configuration 'Debug|Win32'
    Compiling...
    1.cpp
    c:\documents and settings\admin\moje dokumenty\visual studio 2005\projects\pierwsza\pierwsza\1.cpp(1) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
    Build log was saved at "file://c:\Documents and Settings\Admin\Moje dokumenty\Visual Studio 2005\Projects\pierwsza\pierwsza\Debug\BuildLog.htm"
    pierwsza - 1 error(s), 0 warning(s)
    ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
    Co to ?
    dlaczego nie rozpoznaje mi bibliotek?
    Pozdrawiam Nero
  • REKLAMA
  • Pomocny post
    #8 3130686
    krzychoocpp
    VIP Zasłużony dla elektroda
    Posty: 1866
    Pomógł: 387
    Ocena: 58
    Witam, z tego co mi wiadomo to teraz się pisze:

    
    #include <iostream>
    


    :)

    Pozdrawiam, Krzysztof.
  • #9 3130722
    nero123
    Poziom 14  
    Posty: 150
    Ocena: 5
    Fajnie dzięki faktycznie tak powinno być

    ale, co tu źle napisałem ?

    cout <<"hello \n";

    bo pisze mi że mam tam błąd:

    ------ Rebuild All started: Project: pierwsza, Configuration: Debug Win32 ------
    Deleting intermediate and output files for project 'pierwsza', configuration 'Debug|Win32'
    Compiling...
    1.cpp
    c:\documents and settings\admin\moje dokumenty\visual studio 2005\projects\pierwsza\pierwsza\1.cpp(4) : error C2065: 'cout' : undeclared identifier
    Build log was saved at "file://c:\Documents and Settings\Admin\Moje dokumenty\Visual Studio 2005\Projects\pierwsza\pierwsza\Debug\BuildLog.htm"
    pierwsza - 1 error(s), 0 warning(s)
    ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
  • Pomocny post
    #10 3130739
    krzychoocpp
    VIP Zasłużony dla elektroda
    Posty: 1866
    Pomógł: 387
    Ocena: 58
    Witam, prawdopodobnie to o czym napisałem wyżej, czyli

    
    using namespace std; //na początku pliku
    
    //lub przy kazdym elemencie z std
    
    std::cout << "hello \n"; 
    


    Pozdrawiam, Krzysztof.
  • #11 3130776
    nero123
    Poziom 14  
    Posty: 150
    Ocena: 5
    Dzięki wielkie za pomoc !
    Mam jeszcze jednom, obiecuje że ostatnie pytanie ;)

    W Visual 6 nie trzeba było sie bawic w żadne std:: przynajmniej przy wypisywaniu na ekran. Dużo jest takich "Ułatwień" w Visual 2005?
    A może coś jest nie tak z moim kompilatorem, nie wiem błedy jakies czy coś?

    Składnia jezyka c++ nie powinna sie chyba zmienić!

    Pozdrawim Nero
    Jeszcze raz wielkie dzięki
  • Pomocny post
    #12 3130798
    krzychoocpp
    VIP Zasłużony dla elektroda
    Posty: 1866
    Pomógł: 387
    Ocena: 58
    Witam, powiem tyle że nie jest to wymysł M$, w moim gcc muszę pisać tak samo. Wydaje mi się że ostatnio wprowadzono takie zmiany i są one we wszystkich kompilatorach, więc nie masz się czym przejmować. Co do std::, to wystarczy na początku jedna linijka i już masz wszystko z głowy :)

    Pozdrawiam, Krzysztof.

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono problem niekompatybilności kodu napisanego w Visual Studio 6.0 z kompilatorem Visual Studio 2005, szczególnie dotyczący błędów związanych z niezidentyfikowanymi symbolami "cout" i "cin". W VS 2005 nie używa się już nagłówka , lecz standardowego , a elementy przestrzeni nazw std wymagają jawnego użycia deklaracji "using namespace std;" lub prefiksu "std::". Brak pliku wykonywalnego (.exe) po kompilacji wynikał z braku dodania plików źródłowych do projektu w Solution Explorer. Zmiany te wynikają z ujednolicenia standardów C++ w nowych kompilatorach, co wymaga dostosowania starszych programów do nowej składni i organizacji kodu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA