1

学校のプロジェクトで Eclipse C++ と Irrlicht を使用しようとしています。私の問題は、環境を設定することです。

私はこれを使用しましたhttp://irrlicht3d.org/wiki/index.php?n=Main.Macintosh

新しいMacBook Proを使用しています。

エラーはこのフラグにあると思います。 ここに画像の説明を入力

**** Build of configuration Debug for project HalloWorld2 ****

make all 
Building file: ../src/helloworld.cpp
Invoking: GCC C++ Compiler
g++ -I/Users/JAMES/Code/irrlicht-1.7.2/include -O0 -g3 -Wall -c -fmessage-length=0 -arch i386 -fvisibility=hidden -MMD -MP -MF"src/helloworld.d" -MT"src/helloworld.d" -o "src/helloworld.o" "../src/helloworld.cpp"
Finished building: ../src/helloworld.cpp

Building target: HalloWorld2
Invoking: MacOS X C++ Linker
g++ -L/Users/JAMES/Code/irrlicht-1.7.2/source/Irrlicht/MacOSX/build/Release -L/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib -Xlinker -arch i386 -framework OpenGL -framework Carbon -framework Cocoa -framework IOKit -o "HalloWorld2"  ./src/helloworld.o   -lIrrlicht
i686-apple-darwin11-llvm-g++-4.2: i386: No such file or directory
make: *** [HalloWorld2] Error 1
4

1 に答える 1

1

問題は-Xlinker、リンカに引数を渡すために を使用することにあります。のマニュアルページにg++は次のように書かれています:

-Xlinker オプション

オプションをオプションとしてリンカーに渡します。これを使用して、GCC が認識できないシステム固有のリンカー オプションを提供できます。

引数を取るオプションを渡したい場合は、-Xlinker を 2 回 (オプション用に 1 回、引数用に 1 回) 使用する必要があります。たとえば、-assert 定義を渡すには、-Xlinker -assert -Xlinker 定義を記述する必要があります。-Xlinker "-assert definitions" を記述しても機能しません。これは、文字列全体を単一の引数として渡すためです。これはリンカが期待するものではありません。

Here-Xlinkerは 1 回だけ表示されますが、リンカーに送信される各引数の間に表示される必要があります。したがって、醜い解決策は次のように書くことです:

-arch -Xlinker i386 -Xlinker -framework -Xlinker OpenGL -Xlinker -framework -Xlinker Carbon -Xlinker -framework -Xlinker Cocoa -Xlinker -framework -Xlinker IOKit

-Wl,しかし、代わりにEclipseを使用するように構成する方法を見つけた場合は、次のようにします-Xlinker

-Wl,オプション

オプションをオプションとしてリンカーに渡します。オプションにコンマが含まれている場合、コンマで複数のオプションに分割されます。

次に、次を使用できます。

-arch,i386,-framework,OpenGL,-framework,Carbon,-framework,Cocoa,-framework,IOKit
于 2012-02-19T18:07:36.630 に答える