[失败]在VitaSDK编译Mono[Update]

作者:V君 发布于:2016-9-11 0:46 Sunday 分类:折腾手记

PSV破解之后玩些啥?

当然是先定一个小目标, 比如说我先把mono编译进去让我大井能在PSV上跑.

 

看了mono官方文档, 估计U3D也是这么整的吧, 咱也重新拼一下轮子

http://www.mono-project.com/docs/advanced/embedding/

 

准备SDK

https://henkaku.xyz/developer/

 -- > https://github.com/vitadev/vdpm 

省略在msys2安装vdpm过程, 按着步骤走就行.

 

修改SDK头文件time.h让其符合标准

__TM_GMTOFF -- tm_gmtoff


下载mono源码

http://www.mono-project.com/download/

 -- > mono-4.6.0.243.tar.bz2


在 configure libgc/configure 里面

找到 enable_parallel_mark --enable-parallel-mark 这些统统干掉,这样才能通过自动配置


可选的将临时目录指向RAMDISK提升速度, 可以加到 /etc/profile 来实现每次启动终端都自动配置
$ mkdir /z/temp4msys
$ mount z:/temp4msys /var/tmp
$ mount z:/temp4msys /tmp

$ export TMP=/z/temp4msys

$ export TEMP=/z/temp4msys

 

配置SDK环境变量 

$ export VITASDK=/usr/local/vitasdk # define $VITASDK if you havent already

$ export PATH=$VITASDK/bin:$PATH # add vitasdk tool to $PATH if you havent already

 

开始自动配置!

配置参数指定不要任何手机支持, 也不编译基础库. 咱们要的是runtime并且还是嵌入的

$ ./configure --disable-mcs-build --prefix=/usr/local/vitasdk  --host=arm-vita-eabi  --with-monodroid=no  --with-monotouch=no  --with-monotouch_watch=no  --with-monotouch_tv=no  --with-xammac=no  --with-mcs-docs=no  --enable-minimal=aot,profiler

 

配置完成! 开始make吧!

 

$ make


然而... error "<dirent.h> not supported" 只好放弃治疗...

其实VitaSDK也是实现了dirent.h了的, 只不过... 大法真是 太~~棒!了!   所有API都不是标准的.

如果你去看各种原生功能API, 比如Socket, 你会发现一大摞sceNetXXXXXX, 
等那帮牛逼黑客把这些API统统适配到标准库再折腾吧...

--------- 蛋疼的更新分割线 ---------

蛋疼了回来接着折腾:
上次我们搞到 dirent.h 爆不支持, 经过各种咕狗, 原来mono靠一个内置的类libc的eglib来做系统支撑库
里面有提供各种平台的io访问适配, 经过自动配置已经选择了unix系统的适配, 但大法的API没提供标准...

dirent.h 似乎可以改改就能吃的样子, 依葫芦画瓢, 把目录访问接口改成大法API, 贴到 https://ghostbin.com/paste/nyo3f

继续编译之后又发现缺少 mman.h 嗯嗯 看看怎么办吧, 然而最后还是没搞定...

标签: 软件开发 mono PSV

引用地址:

发表评论:

Powered by emlog 去你妹的备案 sitemap