【发布时间】:2012-06-09 23:43:06
【问题描述】:
我已经设置了一个用于构建我的软件的系统,使用 makefile 和命令行工具。
我已经能够轻松地修改 makefile 以支持我的 Mac(现在是 10.7.4),所以我试图让我的代码独立于 XCode 工作。一旦我开始将东西移植到 iOS,我就会处理 XCode。我希望 makefile 解决方案(虽然我的代码库仍然可以通过所述 makefile 管理)为我提供更好的可移植性和自动化选项。
我正在体验here 所描述的内容。代码编译,运行时遇到问题。
起初我使用 SDL 站点上二进制下载的 SDL 框架 (-framework SDL),所以我想我可以通过从源代码正确构建 SDL 来解决问题。我已经这样做了,现在正在链接到 libSDL.a 和 libSDLMain.a。这反过来又要求我包含这些额外的框架才能成功编译(我根据sdl-config --static-libs 的输出得出了列表:
-framework Cocoa -framework IOKit -framework AudioToolbox -framework AudioUnit -framework Carbon -framework ApplicationServices
但是我仍然有同样的问题,文章解释这与缺少这个有关:
[NSApplication sharedApplication];
我的代码没有 Obj-C 代码。不过,我很高兴将一些 Obj-C 插入其中。我添加了其中一个软件包附带的SDLMain.m,但链接器有问题:ld: duplicate symbol _main
好的,所以我不会这么轻易就逃脱的。
我缺少哪些可以让我初始化 NSApplication 的小部件?有没有办法在没有单独的源文件(来自我的Main.cpp)的情况下做到这一点,现在必须是 Obj-C?是否有一些我可以调用 sharedApplication 的 C/C++ 包装函数?
【问题讨论】:
标签: c++ objective-c macos opengl sdl