2012-02-02 9 views
1

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

私は新しいMacBook Proを使用しています。このhttp://irrlicht3d.org/wiki/index.php?n=Main.Macintosh

を使用していました。

私はこのエラーがこのフラグにあると思います。 enter image description here

**** 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 
+0

を実行しているのMacOSのバージョンは何? – Mankarse

+0

ライオンで走っています。 – boje

答えて

1

問題は、リンカーに引数を渡すために-Xlinkerの使用から来ます。 g++のmanページは言う:リンカにオプションとして

-Xlinkerオプション

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

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

ここで-Xlinkerは一度だけ表示されますが、リンカーに送信される各引数の間に表示される必要があります。

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

しかし、あなたは-Wl,代わりの-Xlinkerを使用するようにEclipseを設定する方法を見つけた場合、それはより良いと思うようになります::だから醜いソリューションを書くことです

-Wl、オプションを

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

次に、あなたが使用できます。

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