неопределенная ссылка на ошибку WinMain 1 в затмении с использованием mingw - PullRequest
1 голос
/ 11 января 2010

**** Сборка конфигурации Отладка для теста проекта ****

make all 
Building target: testcase.exe
Invoking: MinGW C++ Linker
g++  -o"testcase.exe"  ./atest.o ./main.o  C:/cppunit/src/cppunit/.libs/libcppunit.a 
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0xd2): undefined reference to `WinMain@16'
collect2: ld returned 1 exit status
make: *** [testcase.exe] Error 1

undefined reference to `WinMain@16' : mingw/lib/libmingw32.a(main.o):main.c:    
make: *** [testcase.exe] Error 1 

но я использую программу cpp. в программе cpp, которая имеет main.cpp, atestcase.cpp и a.hpp, но показывает main.c :(. text + 0xd2):

Может ли кто-нибудь решить эту проблему. Пожалуйста, можете мне помочь? искренне Ваш, r.kranthikumar

Ответы [ 5 ]

4 голосов
/ 11 января 2010

Сначала проверьте, действительно ли вы действительно сохранили ваш main.c файл (eclipse не сохраняет исходный файл автоматически)

Затем проверьте, создан ли ваш make-файл автоматически или вы можете написать его самостоятельно, как в этой теме .

CXXFLAGS = -O2 -g -Wall -fmessage-length=0

OBJS =  main.o

LIBS =

TARGET =    say.exe

$(TARGET):  $(OBJS)
    $(CXX) -o $(TARGET) $(OBJS) $(LIBS)

all:    $(TARGET)

clean:
    rm -f $(OBJS) $(TARGET)
2 голосов
/ 12 января 2010

(Это дубликат ?)

Вы можете оставить свой основной, но посмотрите варианты

--subsystem,windows -mwindows

в документации к вашему компилятору MinGW c ++.

2 голосов
/ 12 января 2010

Вы создаете Приложение Windows , но у вас нет WinMain, который требуется приложениям Windows.

Скорее всего, у вас есть main вместо. Вам нужно будет либо изменить настройки проекта (на что-то вроде " Консольное приложение "), либо использовать вместо него WinMain. Вы, вероятно, хотите первое.

Обратите внимание, WinMain не является стандартным. Это просто требование связывания Windows.

1 голос
/ 19 июня 2012

Убедитесь, что у вас есть хотя бы главное. Я исправил мой, предоставив основную функцию. У меня не было одного, когда я собирал. Я на Windows .. кажется, по умолчанию он пытается найти winmain.

0 голосов
/ 15 июня 2019

Я перепробовал много решений, но у меня ничего не получалось. Затем я заново создал проект и переместил файл .cpp в projectname/src/.

Проверено в Eclipse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...