gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:54:48 24 4
gpt4 key购买 nike

我认为 Ubuntu 和 OS X 会有类似的接口(interface)来使用 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

尝试:

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

这个问题我也遇到过一次,很费解。有关详细信息,请参阅此 stackoverflow 问题:Why SDL defines main macro?

关于c++ - 在 Mac OS X Lion 上使用 SDL 编译 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16831151/

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