- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Mac C Undefined x86_64)
Mac C Undefined x86_64
このQ&Aのポイント
- MacOSX LionのIntel Core 2 duoでC言語を学習中です。
- 自分のMacでLinuxで作成したプログラムを動かそうとすると、Undefined symbols for architecture x86_64というエラーが出ます。
- FTGLとGLFWのインストールとコンパイルの変更を試しましたが、解決しませんでした。どうすれば解決できるでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
i386でもx86_64でも _ftglRenderFont が出てる、ってことは、単にライブラリの指定間違いでは? -L/opt/local/lib でlibftgl.aのある場所の指定もしていないし、-lftglも付いてないようですが。 Macのcc(実体はgcc)では、デフォルトではカーネルにあわせて32bit,64bitのバイナリーを作ります。 特定のアーキテクチャを指定するときは-arch i386, -arch x86_64 を使います。 実行環境とビルド環境が変わらないなら、ただコンパイルすればいいです。 x32とx64を混在するようなら、universalバイナリにするのがよいです。 MacPortsでインストールできるライブラリでは、大抵、variantにuniversalがあるので、 port install XXXX +universal と指定するとよいです。(すでにインストールしてあるものはport upgrade --enforce-variants XXX +universal という感じに、variant適用してのアップグレードを使う) あとは、glfwをどうやってインストールしたかによっては、さらに変更が必要かもしれません
お礼
ありがとうございます。Linkerをlibftgl.aとつないだら動きました.