首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CorePlot MonoMac绑定崩溃

CorePlot MonoMac绑定崩溃
EN

Stack Overflow用户
提问于 2013-01-09 15:10:34
回答 1查看 292关注 0票数 1

我正在尝试使用monomac的CorePlot 0.9绑定,但这似乎是一项艰巨的任务。monotouch示例的构建和运行没有任何问题,但我不需要这个问题。

由于绑定中只有一个CorePlotiOS.dll,所以我必须自己为osx构建一个,但首先,没有bmake.exe,所以我必须下载monomac源代码并首先自己构建它。然后,我尝试构建CorePlotOSX.dll,但这导致了一些编译问题。看一下mono touch的build-script,我尝试使用下面这行代码:

代码语言:javascript
复制
MONO_PATH=$(MONOMAC)/src mono $(MONOMAC)/src/bmac.exe -e -unsafe coreplot.cs -s=enums.cs -x=extras.cs -x=AssemblyInfo.cs  --sourceonly=list --tmpdir=osx -r:System.Drawing -r:MonoMac -lib:$(MONOMAC)/src -baselib:$(MONOMAC)/src/MonoMac.dll .

有什么问题吗?

我已经将问题简化为:

代码语言:javascript
复制
graph = new CPTPieChart(); 
graph.Title = "Test";

分配似乎还存在,但每当我试图访问对象时,我都会崩溃:

代码语言:javascript
复制
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000bf887fac

VM Regions Near 0xbf887fac:
    Stack                  00000000b038d000-00000000b040e000 [  516K] rw-/rwx SM=COW  
--> Stack                  00000000bc088000-00000000bf888000 [ 56.0M] ---/rwx SM=NUL  
    Stack                  00000000bf888000-00000000c0088000 [ 8192K] rw-/rwx SM=COW  

Application Specific Information:
objc[17645]: garbage collection is OFF

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x97c8aebc __CFStringEncodeByteStream + 12
1   com.apple.Foundation            0x9ac8ed49 -[NSString(NSStringOtherEncodings) getBytes:maxLength:usedLength:encoding:options:range:remainingRange:] + 263
2   com.apple.Foundation            0x9ac8e8ee bytesInEncoding + 213
3   com.apple.Foundation            0x9ac8e814 -[NSString(NSStringOtherEncodings) UTF8String] + 42
4   com.apple.CoreFoundation        0x97ce478c -[__NSCFString UTF8String] + 204
5   ???                             0x00f91208 0 + 16323080
6   ???                             0x030d708c 0 + 51212428
7   ???                             0x030d703c 0 + 51212348
8   ???                             0x016877d4 0 + 23623636

有什么想法吗?运行Mac OSX 10.7.5 btw。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-11 23:14:50

好吧,这很难。在与xcode和monomac斗争了几天之后,结果是原生CorePlot框架(动态库)没有加载。我没有意识到,我应该自己加载它(我是一个monomac新手,sorry...but不是很难看吗?它以这种方式悄悄地失败了?)

有两种方法可以做到这一点:

代码语言:javascript
复制
Dlfcn.dlopen ("CorePlot.framework/CorePlot", 2); // 2 = load now, 0 = lazy load

[assembly:MonoMac.RequiredFramework("CorePlot.framework/CorePlot")]

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

https://stackoverflow.com/questions/14230031

复制
相关文章

相似问题

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