gpt4 book ai didi

c++ - 对 'SDL_main' 的 undefined reference

转载 作者:可可西里 更新时间:2023-11-01 18:40:46 26 4
gpt4 key购买 nike

我最近决定尝试使用带有 CodeBlocks 10.05 的 SDL。我从 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 wiki 的教程)上的许多问题,但似乎找不到解决方案。

  • C:\SDL\SDL-1.2.15\include 已添加到编译器选项卡(搜索目录)
  • C:\SDL\SDL-1.2.15\lib 已添加到链接器选项卡中
  • 库 libmingw32.a、libSDLmain.a、libSDL.dll.a 按此顺序链接
    • CodeBlocks安装目录下MinGW\lib文件夹下的libmingw32.a
  • SDL.dll在System32文件夹和工程文件夹中

当尝试按照 CodeBlocks wiki 上的教程进行操作时,我被告知在给定目录中找不到 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

最佳答案

将这些参数放到主函数中。我也遇到了这个问题,几秒钟前就解决了。

int main(int argv, char** args){

关于c++ - 对 'SDL_main' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com