我有一个关于“附加mtouch参数”的快速问题
-gcc_flags "-lstdc++ -L${ProjectDir} -libMonkeyTalk-1.0.40 -lsqlite30 -framework CFNetwork -framework QuartzCore -all_load"
我将其作为一个额外的参数,但是当我构建我的iOS应用程序时,我收到以下错误。
Error MT5201: Native linking failed. Please review user flags provided to gcc: "-lstdc++" "-L/Users/henry/Downloads/HelloWorld_iPhone/HelloWorld_iPhone" "-libMonkeyTalk-1.0.40" "-lsqlite30" "-framework" "CFNetwork" "-framework" "QuartzCore" "-all_load" (MT5201) (HelloWorld_iPhone)
我该如何解决这个问题?我的论点有什么问题?我是否错过了添加MonkeyTalk lib的步骤或者其他错误?
答案 0 :(得分:3)
MT5201
错误表示运行原生链接器时构建失败。
最常见的问题之一与使用-gcc_flags
的链接器的附加(和未经验证的)参数有关。这就是错误消息要求您查看它们的原因。
然而,这并不是链接失败的唯一原因。一旦查看,您应该查看构建日志(在XS错误板内)以查看链接器报告的警告/错误(甚至更早的消息)。
如果您的问题提供了完整其他mtouch参数,那么您的问题可能是与C ++库(您的"-lstdc++
)链接,而没有告诉mtouch
使用C ++编译器进行编译,使用--cxx
。
请注意,这是一个mtouch
参数,不是一个链接器参数,因此 必须在--gcc_flags
内。 E.g。
--cxx -gcc_flags "-lstdc++ -L${ProjectDir} -libMonkeyTalk-1.0.40 -lsqlite30 -framework CFNetwork -framework QuartzCore -all_load"