Неопределенная ссылка на «SDL_main»C++

Программы на C++. Форум разработчиков
Anonymous
 Неопределенная ссылка на «SDL_main»

Сообщение Anonymous »

Недавно я решил попробовать поработать с SDL с помощью CodeBlocks 10.05. Я начал с учебника на http://www.sdltutorials.com/sdl-tutorial-basics и приложил все усилия, чтобы следовать ему. К сожалению, я столкнулся:

..\..\..\..\..\..\SDL\SDL-1.2.15\lib\libSDLmain.a(SDL_win32_main.o):SDL_win32_main.c|| undefined reference to `SDL_main'|


когда я пытаюсь его скомпилировать.

Я просмотрел многие вопросы на этом веб-сайте и другие руководства (в основном учебник по LazyFoo и вики CodeBlocks) и, похоже, не может найти решение.
  • C:\SDL\SDL-1.2.15\include добавлен на вкладку «Компилятор» (каталоги поиска)
  • C:\SDL\SDL-1.2.15\lib добавлен во вкладку «Компоновщик».
  • Библиотеки libmingw32.a, libSDLmain.a, libSDL.dll. a связаны в указанном порядке

    libmingw32.a из папки MinGW\lib в каталоге установки CodeBlocks
[*]SDL.dll находится как в папке System32, так и в папке проекта.


При попытке следовать руководству в вики CodeBlocks мне сказали, что SDL.h не может быть найден в данном каталоге (при создании нового проекта SDL).

CApp.cpp

#include "CApp.h"
#include "SDL\SDL.h"

CApp::CApp(){
Surf_Display=NULL;

Running=true;
}

int CApp::OnExecute(){
if (OnInit()==false){
return -1;
}

SDL_Event Event;

while (Running){
while (SDL_PollEvent(&Event)){
OnEvent(&Event);
}
OnLoop();
OnRender();
}

OnCleanup();
return 0;
}

int main(int argc, char* argv[]){
CApp theApp;

return theApp.OnExecute();
}


CApp.h

#ifndef CAPP_H_INCLUDED
#define CAPP_H_INCLUDED
#include "SDL\SDL.h"

class CApp{
private:
bool Running;
SDL_Surface* Surf_Display;

public:
CApp();
int OnExecute();

public:
bool OnInit();
void OnEvent(SDL_Event* Event);
void OnLoop();
void OnRender();
void OnCleanup();
};

#endif // CAPP_H_INCLUDED


Подробнее здесь: https://stackoverflow.com/questions/108 ... o-sdl-main

Вернуться в «C++»