我正在尝试使用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发布于 2012-02-19 18:07:36
问题来自使用-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,我认为这样做会更好:
-Wl,选项
将选项作为选项传递给链接器。如果选项包含逗号,则在逗号处将其拆分为多个选项。
然后你可以使用:
-arch,i386,-framework,OpenGL,-framework,Carbon,-framework,Cocoa,-framework,IOKithttps://stackoverflow.com/questions/9115582
复制相似问题