2012-02-02 3 views
1

J'essaie d'utiliser Eclipse C++ et Irrlicht pour un projet à l'école. Mon problème est de régler l'environnement.Irrlicht dans Eclipse, l'environnement ne fonctionne pas

J'ai utilisé cette http://irrlicht3d.org/wiki/index.php?n=Main.Macintosh

J'utilise le nouveau MacBook Pro.

Je pense que l'erreur est dans ce drapeau. 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

Quelle version de MacOS vous utilisez? – Mankarse

+0

Il court sur le lion. – boje

Répondre

1

Le problème vient de l'utilisation de -Xlinker pour passer des arguments à l'éditeur de liens. La page de manuel de g++ dit:

option -Xlinker

option passe en option à l'éditeur de liens. Vous pouvez l'utiliser pour fournir des options d'éditeur de liens spécifiques au système que GCC ne sait pas reconnaître.

Si vous voulez passer une option qui prend un argument, vous devez utiliser -Xlinker deux fois, une fois pour l'option et une fois pour l'argument. Par exemple, pour passer des définitions -assert, vous devez écrire les définitions -Xlinker -assert -Xlinker. Il ne fonctionne pas pour écrire -Xlinker "-assert définitions", parce que cela passe la chaîne entière comme un seul argument, ce qui n'est pas ce que le lieur attend.

Ici -Xlinker n'apparaît qu'une seule fois alors qu'il devrait apparaître entre chaque argument envoyé au lieur. Ainsi, une solution laide est d'écrire:

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

Mais si vous trouvez un moyen de configurer Eclipse pour utiliser -Wl, au lieu de -Xlinker il serait préférable que je pense:

-Wl option

Passez l'option en tant qu'option à l'éditeur de liens. Si l'option contient des virgules, elle est divisée en plusieurs options à la virgule.

Ensuite, vous pouvez utiliser:

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