gpt4 book ai didi

c++ - 使用 SDL 项目调试错误 "no source available for main()"

转载 作者:行者123 更新时间:2023-11-30 05:29:26 24 4
gpt4 key购买 nike

我在使用 SDL 1.2.15 调试 C++ 项目时遇到了麻烦,但我的程序运行正常,没有任何问题。实际上启动调试时,出现错误“[十六进制地址] 的 main() 没有可用的源代码,我在 Eclipse 中唯一能做的就是单击“查看反汇编”,这会显示所有执行的汇编程序指令,事实证明错误中指定的地址不是 main() 的地址,而是紧接在前的地址。

include "SDL/SDL.h"
int main(int argc, char* args[]) {
SDL_Surface* screen;
SDL_Surface* sur;
screen=SDL_SetVideoMode(1280,720,32,SDL_SWSURFACE);

//Start SDL
SDL_Init( SDL_INIT_EVERYTHING);
sur=SDL_LoadBMP("immagine.bmp");
SDL_BlitSurface(sur,NULL,screen,NULL);
SDL_Flip(screen);
SDL_Delay(4000);
//Quit SDL
SDL_Quit();
return 0;
}

程序非常简单,所以我认为问题与代码内容无关,甚至似乎与gdb无关,因为它在C++项目中运行良好,但仅使用SDL时出现问题。我试图将默认编译器标签从 -g3 更改为 -g,但没有任何改变。
我正在使用 MinGW gcc 和 gdb 在 Windows 10(64 位)上开发 Eclipse Mars.2。
也许问题与 MinGW 中调试库的链接不正确有关?

最佳答案

问题出在Debugger的入口点,实际上SDL定义了他自己的main(SDL_main),所以我解决了从“Debug Configuration”菜单,Debugger label,字段“Stop on startup at”从默认更改的问题“SDL_main”中的值“main”。

关于c++ - 使用 SDL 项目调试错误 "no source available for main()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36388508/

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