tuiopad在openframeworks下编译小记
tuiopad是ipad上一个开源的多点触摸库,符合tuio1.1协议规范,可以在app store中下载,能够把用户的多点触摸信号通过udp,tcp方式发送给实现了tuio协议的其他系统。
虽说是开源软件,但这个托管在google code上的项目实在不靠谱,好歹把编译环境说清楚啊;openframeworks也是,升级一个版本就向后不兼容,真心觉得微软在这方面比一些开源项目做的要好的多。如果一个项目不能够做到向后兼容,同时又不明确说明具体编译环境,最大的受害者还是使用这些库的用户以及开源库之后的推广与发展。
最早是从github上clone出来openframeworks v007最新版,因为tuiopad项目并没有指明具体是在哪个版本下编译的,最新版应该会比老版少些bug。之前有过tuiokinect编译的教训,因此这次编译tuiopad稍微有了点经验,很快的就先把openframeworks iphone simulator debug版编译出来了,虽然有200多个warning,但好歹是个能用的库。
然后把tuiopad放到apps的iPhoneExamples文件夹下,用xcode打开,编译没什么问题,只是需要额外添加tess2(Tess of d’Urbevilles,呵呵)
和poco库。
连接时出现了很纠结的问题。恩,最初时freetype.a找不到,这个很简单,把tuiopad依赖的freetype,Freeimage,glu库更新一下。接下来就是一连串悲剧的开始。首先是,lgcc_s.10.5 找不到,很经典的错误,解决方案参见 http://blog.csdn.net/kmyhy/article/details/6829123 。但之后居然说 ofAppMain找不到,但是openframeworks就是被集成在tuiopad项目里的嘛。这个就要理解xcode的项目原理了。of放在tuiopad里,只是表明它要在tuiopad中预编译,相当于项目依赖项,以及它的头文件可以被外部项目访问,但是,它编译出来的库不一定会被外部项目链接,因此要显式地把它加入到tuiopad链接库里。这样就基本链接完成了。
但是链接成功远远不够,启动程序,一接收到触摸事件即崩溃,而且错误来源是很底层的poco库,让人崩溃。
tuiopad是2010年12月份最后更新的(估计作者不维护了吧),抱着试试看的态度下载了openframeworks v0061版,经过复杂的链接依赖处理,运行之,居然成功了!
真是无语了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架