0

MacOSX 10.8 に Irrlicht 1.8 をコンパイルしてインストールしました。次に、Irrlicht を使用する CodeBlocks プロジェクトを作成しました。コンパイルしようとすると、次のエラーが発生します。

    "_objc_msgSend_stret", referenced from:
      irr::CIrrDeviceMacOSX::setResize(int, int)in libIrrlicht.a(CIrrDeviceMacOSX.o)
      irr::CIrrDeviceMacOSX::createWindow()      in libIrrlicht.a(CIrrDeviceMacOSX.o)
      irr::CIrrDeviceMacOSX::CIrrDeviceMacOSX(irr::SIrrlichtCreationParameters const&)in libIrrlicht.a(CIrrDeviceMacOSX.o)
      irr::CIrrDeviceMacOSX::CIrrDeviceMacOSX(irr::SIrrlichtCreationParameters const&)in libIrrlicht.a(CIrrDeviceMacOSX.o)
      -[AppDelegate windowDidResize:] in libIrrlicht.a(AppDelegate.o)
      -[AppDelegate windowWillResize:toSize:] in libIrrlicht.a(AppDelegate.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

問題は Irrlicht をコンパイルした方法にあると思います。これが私がやった方法です:

  1. このチュートリアルを使用してIrrlicht をコンパイルしました。コンパイル時に、非推奨の関数の使用に関する 4 つの警告が表示されましたが、問題は発生しないと判断しました。
  2. で、取り付けるのはこれ。

誰でもそれを手伝ってもらえますか?ありがとう。

upd: Irrlicht 関数を呼び出そうとしたときにのみ、このエラーが発生することがわかりました。ライブラリがプロジェクトに静的にリンクされているだけで、正常に動作します。

4

1 に答える 1

0

約 2 年前に Mac OS X (10.6) のIrrlichtでこの種のエラーが発生しましたが、どのように問題を解決したか覚えていません。(あなたのように) リンカーに関連していたことを覚えているので、 Xcodetargetセクションで libIrrlicht.a ファイルを指定し、

#pragma comment(lib, "libIrrlicht.a")

インクルードの直後のコードで(テストのために.aファイルをプロジェクトディレクトリに配置したと思います)。


PS:ライブラリを探す場所をCode::Blocksに指定しましたか? Xcode (3.2.x)にはさまざまなパスセクションもあったことを覚えています:)

PPS: Irrlicht を正しくコンパイルしたと確信していますか? x86_64ではなくi386用にコンパイルしたのかもしれません:P

于 2013-04-04T14:51:11.380 に答える