簡體   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