Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 我的程序是否在到达main()之前崩溃?_Xcode_Gcc - Fatal编程技术网

Xcode 我的程序是否在到达main()之前崩溃?

Xcode 我的程序是否在到达main()之前崩溃?,xcode,gcc,Xcode,Gcc,我正在尝试将一个包含SDL和WxWidgets的项目移植到使用XCode 3.1.2的MacOS X。这个项目相当大,但我最终成功地编译了它。但是,它在启动后立即退出,并显示消息“MyApplication已退出,状态为99” 出于调试目的,我将主函数更改为如下所示: int main(int argc, char *argv[]) { cout <<"hello world"; cout <<"and goodbye"; throw "test"

我正在尝试将一个包含SDL和WxWidgets的项目移植到使用XCode 3.1.2的MacOS X。这个项目相当大,但我最终成功地编译了它。但是,它在启动后立即退出,并显示消息“MyApplication已退出,状态为99”

出于调试目的,我将主函数更改为如下所示:

int main(int argc, char *argv[])
{
    cout <<"hello world";
    cout <<"and goodbye";
    throw "test";
}
intmain(intargc,char*argv[])
{

您可能没有正确的项目设置。您选择了哪个项目模板?

您可能没有正确的项目设置。您选择了哪个项目模板?

SDL对您的主要功能进行了一些修改。 很可能您的主代码永远无法访问

试着打破“开始”并从那里开始——AFAIK“开始”是任何macho可执行文件的入口点

您看到的看起来像是二进制文件退出,错误代码为“99”。 您可能需要在SDL或WX中查找错误代码99


稍后编辑:来自SDL站点:头文件“SDL_main.h”使用函数宏将main()函数重新映射到SDL_main()函数。

SDL对主函数进行了一些修改。 很可能您的主代码永远无法访问

试着打破“开始”并从那里开始——AFAIK“开始”是任何macho可执行文件的入口点

您看到的看起来像是二进制文件退出,错误代码为“99”。 您可能需要在SDL或WX中查找错误代码99


稍后编辑:来自SDL站点:头文件“SDL_main.h”使用一个函数宏将main()函数重新映射到SDL_main()函数。

最后,我发现错误包含的第三方库的单元测试文件中有一个不同的main()函数。

最后,我发现有一个不同的main()函数在我错误地包含的第三方库中的单元测试文件中。

我希望test.xml是该单元测试的数据文件,它可能希望它位于默认目录中。Project>编辑活动可执行文件,并确保启动时的工作目录是代码希望它位于的位置(根目录、项目目录或可执行目录)


但是,我不得不说,我不建议通过将您不熟悉的源代码移植到新工具中来学习它。您将很难从SDL/WxWidgets的奇怪期望中分辨出学习Xcode会导致哪些问题。

而且我希望test.xml是单元测试的数据文件,而我t可能在默认目录中需要它。项目>编辑活动可执行文件,并确保启动时的工作目录是代码需要的目录(根目录、项目目录或可执行文件目录)


不过,我不得不说,我不建议通过移植您不熟悉的源代码来学习新工具。您将很难从SDL/WxWidgets的奇怪期望中分辨出学习Xcode会导致哪些问题。

到目前为止,这是一种粗糙的方法,但我认为最糟糕的情况已经过去了。整个项目都是基于开源跨平台库的,这就是为什么我自己尝试这样做的原因。只要我自己的代码被执行,调试器工作正常,我就应该没事了。到目前为止,这是一个艰难的过程,但我想最坏的情况已经过去了。整个项目都是基于开源跨平台库的,这这就是为什么我要自己做这件事。只要我自己的代码被执行,调试器工作正常,我就应该没事了。