繁体   English   中英

在Mac OS X Lion上使用SDL编译C ++

[英]Compiling C++ with SDL on Mac OS X Lion

我认为Ubuntu和OS X会有类似的接口,用于编译带有SDL的C / C ++程序,但我没有尝试,或者在Google上查找似乎正在工作。

我找到了Xcode的解决方案,但我没有使用Xcode。 我正在从Sublime Text 2编写我的程序,并通过命令行编译,因为我更喜欢它,并且工作速度更快。

简而言之,我每次尝试都会收到一系列错误,到目前为止,我已将SDL.framework复制到我的/Library/Frameworks目录中。

这是我最接近实际编译的:

[ 674 / 174 / 0 ] $ compcpsdl

Undefined symbols for architecture x86_64:
  "_SDL_main", referenced from:
      -[SDLMain applicationDidFinishLaunching:] in ccYYA0Ea.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

终端命令(即compcpsdl)

g++ -I/Library/Frameworks/SDL.framework/Headers main.cpp SDLmain.m -framework SDL -framework Cocoa

具有以下项目结构:

Project-Directory/
--- main.cpp
--- SDLMain.m
--- SDLMain.h

最后,以下源代码:

#include <iostream>
#include <SDL/SDL.h>

using namespace std;

int main ()
{
  cout << "Hello World!";
  return 0;
}

看来我正在做的一切都正确,但似乎没有任何工作。

有什么想法吗?

我认为SDL有时会对主要功能有点奇怪,它假设主功能是以一种方式定义的。 请注意,我将int argcchar** argv到main函数的定义中。

尝试:

int main (int argc, char** argv)
{
  cout << "Hello World!";
  return 0;
}

我也遇到过这个问题一次,这很神秘。 有关更多信息,请参阅此stackoverflow问题: 为什么SDL定义主宏?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM