【问题标题】:Irrlicht in Eclipse, environment not workingEclipse中的Irrlicht,环境不工作
【发布时间】:2012-02-02 16:04:32
【问题描述】:

我正在尝试在学校的一个项目中使用 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

【问题讨论】:

  • 你运行的是什么版本的 MacOS?

标签: c++ eclipse irrlicht


【解决方案1】:

问题来自使用-Xlinker 将参数传递给链接器。 g++ 的手册页说:

-Xlinker 选项

将选项作为选项传递给链接器。您可以使用它来提供 GCC 不知道如何识别的特定于系统的链接器选项。

如果要传递带有参数的选项,则必须使用 -Xlinker 两次,一次用于选项,一次用于参数。例如,要传递 -assert 定义,您必须编写 -Xlinker -assert -Xlinker 定义。它 编写 -Xlinker "-assert definitions" 不起作用,因为这会将整个字符串作为单个参数传递,这不是链接器所期望的。

这里-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,IOKit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 2017-12-07
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 2015-01-23
    相关资源
    最近更新 更多