首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MoSync与外部库链接

MoSync与外部库链接
EN

Stack Overflow用户
提问于 2012-05-21 03:18:16
回答 1查看 782关注 0票数 0

我刚刚发现了MoSync SDK,我认为对于C++程序员来说,使用相同的源代码来生成iOS和安卓应用程序是一个非常好的选择。对于C++程序员来说,MAUI非常容易学习。我在iPhone模拟器上测试了一个提供的示例,它工作得很好。但是当查看xcodeproject文件时,发现了一个看起来像汇编程序代码的C++源文件。我搜索了有关编译过程的信息,似乎原始的c++代码被翻译成IL语言,而IL语言被转换成C++代码。

有没有人知道这个过程的性能问题。生成的代码是否有效?

我想用一些在静态库中调用我的C++代码的UI来做一个简单的iOS苹果。所以我创建了一个静态库(libmylib.a),它导出一个函数:

代码语言:javascript
复制
extern "C" double tst_function(double x)
{
    return sin(x)+2.5;
}

然后,我从MoSync HelloNativeUI示例内部调用tst_function,并将libmylib.a添加到MoSync集成开发环境中的链接器标志。但是我在编译过程中遇到了一个错误:

代码语言:javascript
复制
>>pipe-tool libmylib.a -appcode=KOOU -stabs=stabs.tab .....
 
failed to load '-appcode=KOOU'

我还试图在mastdD.lib、MAUtilD.lib、NativeUI.lib之后将libmylib.a添加到其他库中,但得到了以下错误消息:

那么如何告诉MoSync集成开发环境调用位于静态库中的外部函数呢?

代码语言:javascript
复制
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从外部静态库调用函数呢?

致以亲切的问候,

EN

回答 1

Stack Overflow用户

发布于 2012-06-18 17:56:55

管道工具将只接受MoSync IL,但您试图向它提供ARM代码。那是行不通的。

但是,可能存在一种可能的解决方法。您可以创建一个存根库,用您的程序编译它,然后从生成的c++代码中删除它,并用适当的版本替换它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10676424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档