Skocz do zawartości
hiubi

Uruchomienie Programu W C++

Rekomendowane odpowiedzi

Witam.Własnie zaczynam swoją przygode z programowaniem w c++.Mam program MS Visual studio 8/2005 i chce wykonac program który otworzy sie w lini poleceń.No wieć robie nowy projekt , potem nowy plik biblioteki cpp i pisze kod . No i potem nie zabardzo wiem jak uruchomic ten program, daje build ( nazwa programu ), potem debug i pisze ze nie ma w katalogu z projektem pliku exe a jak uruchamiam linkera to podaje bład : warning LNK4001: no object files specified; libraries used

LINK : error LNK2001: unresolved external symbol _mainCRTStartup , i nie wiem o co chodzi. Prosze o pomoc , pisałem juz na 1 forum ale nikt nie zabardzo chce mi pomóc.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

pokaż koda a powiem Ci kim jesteś :D...

 

najprawdopodobniej prubujesz odpalać progrma konsolowy z wykorzystaniem funkcji winmain() lub na odwrót. Pokaż koda to pogadamy... :) Inna możliwość... Nie doinstalowałeś WinSDK czy jak mu tam (jesli posiadasz okrojoną wersję express).

Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

więc po pierwsze... Skoro dopiero zaczynasz, dam Ci jedna, najważniejszą radę. ZAWSZE czytaj błędy jakie daje CI kompilator, ze zrozumieniem.. Na początku może być trudno, ale wystarczy dać F1 na błędzie aby pokazał się help odpowiedni... Pamiętaj, że błedy są po to, aby można było zdiagnozować co się dzieje.. a nie po to, żeby powiedzieć programiście że.. spadaj dziadu, twój program nie działa... :). No i naucz się korzystać z debugera (ustawianie breakpointów F9) i wykonywanie programu w trybie krokowym (F10, F11). Zobacz co wtedy oferuje Ci visual studio po najechaniu myszką nad np nazwę zmiennej czy obiektu :). To pomoże Ci prześledzić co tak naprawdę robi program gdy działa nie tak jakbyś chciał.

 

Natomiast jeśli chodzi o program, wydaje się być poprawnym hello worldem w C++ :).

 

Wejdź w opcje projektu (PPM na projekcie i properties), wybierz w drzewku opcje linkera i w polu subsystem wybierz Console (/SUBSYSTEM:CONSOLE). Dzięki temu linker nie będzie szukał funkcji winmain() jako entrypointa dla programów windowsowych a entrypointa dla programów konsolowych, jakim jest funkcja main(). Powinno pomóc.

 

 

Przy okazji, jeśli napotkasz błąd linkera (nie kompilacji) pod tytułem, unresolved external symbol, to zazwyczaj chodzi o to, że w hederku (plik_jakis.h) masz zdefiniowaną funkcję, która nie ma implementacji w pliku.cpp. W przypadku Twojego programu linker domyślnie szukał funkcji _mainCRTStartup() ale jej nie znalazł.

Być może, (ale nie jestem pewien) pomogło by też dołączenie pliku windows.h. W każdym razie, skoro piszesz program konsolowy, to powinien być konsolowy...

Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...