21

Waf が GCC に渡す "-arch x86_64 -arch i386" フラグを抑制する必要があります。

SDL/Openglアプリケーションを構築しています。32 ビット SDL ランタイムにリンクすると、エラーが発生します

    Undefined symbols for architecture i386:
  "_SDL_Quit", referenced from:
      __del_video in SDL_functions.c.2.o
      __init_video in SDL_functions.c.2.o

64 ビット SDL ランタイムにリンクすると、「アーキテクチャ x86_64 の未定義シンボル」というエラーが表示されます

コンパイラは明らかにフラグを使用しています

-arch x86_64 -arch i386

これにより、OSX 上の GCC が両方のアーキテクチャ用にコンパイルしようとすることを理解しています。64 ビット用にコンパイルするか、32 ビット用にコンパイルします。1 つのアーキテクチャのフラグを抑制するにはどうすればよいですか?

4

2 に答える 2

0

コマンド/フラグを発行して他のフラグを抑制する方法がわかりません。ただし、64 ビットまたは 32 ビットのみでコンパイルするには、それぞれ -m64 または -m32 を使用できます。両方のアーキテクチャ用にコンパイルしているため、-m64 は i386 では機能しないため、-m32 が唯一のオプションである可能性があります。

于 2011-09-28T05:48:41.717 に答える