Irrlicht в Eclipse, среда не работает

Я пытаюсь использовать Eclipse C++ и Irrlicht для проекта в школе. Моя проблема заключается в том, чтобы настроить среду.

Я использовал этот http://irrlicht3d.org/wiki/index.php?n=Main.Maintosh

Я использую новый 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

person boje    schedule 02.02.2012    source источник
comment
Какая версия MacOS у вас установлена?   -  person Mankarse    schedule 02.02.2012


Ответы (1)


Проблема возникает из-за использования -Xlinker для передачи аргументов компоновщику. Страница руководства g++ говорит:

-Xlinker вариант

Передать опцию как опцию компоновщику. Вы можете использовать это для предоставления системных параметров компоновщика, которые GCC не знает, как распознать.

Если вы хотите передать параметр, который принимает аргумент, вы должны использовать -Xlinker дважды, один раз для параметра и один раз для аргумента. Например, чтобы передать определения -assert, вы должны написать определения -Xlinker -assert -Xlinker. Невозможно написать -Xlinker "-assert определения", потому что это передает всю строку как один аргумент, чего не ожидает компоновщик.

Здесь -Xlinker появляется только один раз, тогда как он должен появляться между каждым аргументом, отправляемым компоновщику. Таким образом, уродливое решение состоит в том, чтобы написать:

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

Но если вы найдете способ настроить Eclipse для использования -Wl, вместо -Xlinker, я думаю, было бы лучше:

-Вл, опция

Передать опцию как опцию компоновщику. Если опция содержит запятые, она разбивается на несколько опций по запятым.

Затем вы можете использовать:

-arch,i386,-framework,OpenGL,-framework,Carbon,-framework,Cocoa,-framework,IOKit
person Simon    schedule 19.02.2012