Błąd kompilacji - mingw32.a(main.o)

Błąd kompilacji - mingw32.a(main.o)
ZP
  • Rejestracja:prawie 8 lat
  • Ostatnio:10 miesięcy
  • Postów:38
0

Otóż mam problem, podczas kompilacji programu w błędach (logach) kompilatora pokazuje oto taki komunikat.

C:\Program Files\Dev-Cpp\MinGW32\lib\libmingw32.a(main.o) In function main':: [Linker Error] undefined reference to WinMain@16'
ld returned 1 exit status

Może ktoś pomóc z rozwiązaniem problemu? Kompilator to BloodSheed wxDev-C+ +. Z góry dzięki.

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Wygląda jakbyś miał złą sygnature funkcji main / brak takiej funkcji i kompilator protestuje że nie moze entry pointa zrobić w aplikacji.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
ZP
Ale funkcja main jest, zobacz niżej.
ZP
  • Rejestracja:prawie 8 lat
  • Ostatnio:10 miesięcy
  • Postów:38
0

Jak pomoże to tu daję kod aplikacji

Kopiuj
#include <cstdlib>
#include <iostream>
#include <string>
#include <kod.h>
using namespace std;
//funkcje kododwanie od kodowanie, szyfry
void kod();
void odkod();
void kod_pierwszy();
void kod_drugi();
void odkod_pierwszy();
void odkod_drugi();
int menu()
{
//wartosci i switch dla ustalenia co chcesz robic
byte znak;
cin >> znak;
switch (znak)
{
case '1' :
cout << "Brawo wybrales odkodowanie";
break;
default :
cout << "Blad sprobuj jeszcze raz :D";
}
system ("pause");
return 0;
}

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Ale funkcja main jest

O RLY? Pokaż mi w tym kodzie funkcje main. I dare you. Widze w tym kodzie funkcje:

Kopiuj
void kod();
void odkod();
void kod_pierwszy();
void kod_drugi();
void odkod_pierwszy();
void odkod_drugi();
int menu();

Która z nich nazywa się main?


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 2x, ostatnio: Shalom
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:3 minuty
0

to jest błąd linkera nie kompilatora. Kod jest poprawny składniowo, ale czegoś mu brakuje.
Dosłownie oznacza, że jakiś symbol został zadeklarowany, ale nie jest zdefiniowany (zaimplementowany).
Powodów może być wiele:

  • tak jak napisał @shalom zła sygnatura funkcji main (ale chyba o tym chyba gcc daje błąd kompilacji)
  • brak funkcji main
  • potrzebny plik źródłowy nie jest częścią projektu
  • inne bardziej zakręcone, o których na razie nie musisz wiedzieć

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
MarekR22
teraz widzę, że punkt 2 jest zwycięzcą :). 
ZP
  • Rejestracja:prawie 8 lat
  • Ostatnio:10 miesięcy
  • Postów:38
0

A dobra ogarnąłem dodałem po int main() jest ; i dlatego error dzięki :D
Edit: jednak nie ma to tylko u @Shalom było przez przypadek chyba. ;/

edytowany 2x, ostatnio: ZiomaleQ PL
Shalom
o_O "matka wie że ćpiesz" (cytujac klasyka)? Ja tam na liście nie widzę żadnej funkcji main. Widze co najwyzej funkcje menu. Wiem ze też na m ale bez przesady...
ZP
Matko, ok jestem ślepy po prostu za dużo wody. :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.