我刚刚发现了MoSync SDK,我认为对于C++程序员来说,使用相同的源代码来生成iOS和安卓应用程序是一个非常好的选择。对于C++程序员来说,MAUI非常容易学习。我在iPhone模拟器上测试了一个提供的示例,它工作得很好。但是当查看xcodeproject文件时,发现了一个看起来像汇编程序代码的C++源文件。我搜索了有关编译过程的信息,似乎原始的c++代码被翻译成IL语言,而IL语言被转换成C++代码。
有没有人知道这个过程的性能问题。生成的代码是否有效?
我想用一些在静态库中调用我的C++代码的UI来做一个简单的iOS苹果。所以我创建了一个静态库(libmylib.a),它导出一个函数:
extern "C" double tst_function(double x)
{
return sin(x)+2.5;
}然后,我从MoSync HelloNativeUI示例内部调用tst_function,并将libmylib.a添加到MoSync集成开发环境中的链接器标志。但是我在编译过程中遇到了一个错误:
>>pipe-tool libmylib.a -appcode=KOOU -stabs=stabs.tab .....
failed to load '-appcode=KOOU'我还试图在mastdD.lib、MAUtilD.lib、NativeUI.lib之后将libmylib.a添加到其他库中,但得到了以下错误消息:
那么如何告诉MoSync集成开发环境调用位于静态库中的外部函数呢?
pipe-tool Copyright 2007-2009 Mobile Sorcery AB
pass 1. 97 known symbols.
/Users/mosyncbuilder/slave/buildScripts/temp_j4DF/source/libs/NativeUI/ActivityIndicator.cpp:58: Error: Illegal instruction '!<arch>',那么如何告诉集成开发环境MoSync从外部静态库调用函数呢?
致以亲切的问候,
发布于 2012-06-18 17:56:55
管道工具将只接受MoSync IL,但您试图向它提供ARM代码。那是行不通的。
但是,可能存在一种可能的解决方法。您可以创建一个存根库,用您的程序编译它,然后从生成的c++代码中删除它,并用适当的版本替换它。
https://stackoverflow.com/questions/10676424
复制相似问题