1.git下来smokegen、smokeqt,qtruby
2.安装qt4.8.5,ruby1.9.1
3.cmake,先smokegen,设置些环境变量参数之类的,一直下来应该没问题,all build-install,ok
4.cmake smokeqt,跟smokegen差不多,因为all build的时候会使用到smokegen.exe,而smokegen.exe会依赖qt的一些dll,所以确保smokegen.exe所在目录有这些dll,否则smokegen调不起来,all build失败

还有就是smokeqttest的连接错误,可以忽略,参考http://lists.kde.org/?l=kde-bindings&m=132925678913424

5.ok,有了smokegen和smokeqt,可以尝试kde上面介绍的例子https://techbase.kde.org/Development/Languages/Smoke,可能会遇到析构smoke环境的时候有断言,一种情况是smokeqt的dll使用的crt跟host的使用的crt不是同一个版本,比如说一个debug一个release,调整一下就可以解决了
6.第五步成功之后,就可以尝试ruby binding了,就是用ruby-qtruby-smokeqt来使用qt
7.cmake qtruby,跟之前的cmake差不多,注意ruby的版本还有路径就可以了,然后all build会出现很多错误
编译错误,有些是gcc编译器自己的扩展导致的,把这些扩展屏蔽就可以了;有些是kde自己的东西,其他平台上没有,把那些项目屏蔽就可以了
连接错误,是因为qtruby4shared的导出符号问题,qtruby4shared是用export导出一些其他项目用到的符号,头文件写死了export导致其他项目导入不了,解决方法有两种,1不导出符号直接编到具体的dll里,2加个宏切换export和import
8.all build-install都ok之后,就可以尝试kde上面介绍的例子了,可惜我对ruby不是很熟悉,还在摸索中
9.kde binding有很多种语言,想尝试一下js binding

smoke kde binding的更多相关文章

  1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): da.huying.usermanag ...

  2. WPF binding 参考

    Introduction This is an article on WPF Binding Cheat Sheet. Some of the Binding won't work for Silve ...

  3. 十五天精通WCF——第一天 三种Binding让你KO80%的业务

    转眼wcf技术已经出现很多年了,也在.net界混的风生水起,同时.net也是一个高度封装的框架,作为在wcf食物链最顶端的我们所能做的任务已经简单的不能再简单了, 再简单的话马路上的大妈也能写wcf了 ...

  4. Binding笔记

    Binding基础  绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event ...

  5. Data Binding使用技巧

    Data Binding 根据变量,自动赋值到各widget. How 1.编写layout文件,这里的layout为: act_data_bind_demo.xml 这里需要先准备变量 在具体的wi ...

  6. WPF之Binding初探

    初学wpf,经常被Binding搞晕,以下记录写Binding的基础. 首先,盗用张图.这图形象的说明了Binding的机理. 对于Binding,意思是数据绑定,基本用法是: 1.在xmal中使用 ...

  7. [XAML]类似WPF绑定的Binding的读取方法

    在WPF的XAML里,依赖属性可以使用基于BindingBase之类的MarkupExtensin 读取XAML时,会自动的把该BindingBase转换为BindingExpressionBase ...

  8. [ASP.NET MVC 小牛之路]15 - Model Binding

    Model Binding(模型绑定)是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程.我们之前所有示例中传递给 Action 方法参数的对象都是在 Model Binding ...

  9. Exception:HTTP Status 500 - org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    主要错误信息如下: HTTP Status 500 - org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...

随机推荐

  1. c#安全性、稳定性、高性能需要注重的点

    1.弱事件 2.类型安全(包括类型转换时可能的异常) 3.线程安全 5.装箱和拆箱 6.闭包传递局部变量时可能遇到的问题. 7.用于dictionary的键,要同时实现GetHashCode和Equa ...

  2. angularJS的核心特性

    前几天师傅让我了解一下angularJS,angularJS是一个前端框架,具体的优缺点和运用场景我现在也还没有搞清楚,暂时就先不做描述了,留到运用以后进行补充吧. angularJS四大核心特性:M ...

  3. 初识Angular2

    Angular2是面向未来的科技,要求浏览器支持ES6+,我们现在要尝试的话,需要加一些 垫片来抹平当前浏览器与ES6的差异: angular2-polyfills - 为ES5浏览器提供ES6特性支 ...

  4. Universal Naming Convention (UNC)

    Quote from: http://compnetworking.about.com/od/windowsnetworking/g/unc-name.htm Definition: UNC is a ...

  5. identifier not found error on function call

    在C++工程中,自定义一个方法 void fgetsDemo(),在main 方法中调用,源代码如下: #include "stdafx.h" #include <stdio ...

  6. rapidxml对unicode的支持

    为了提高duilib创建布局控件的效率,在LuaDui项目中使用rapidxml解析器替换了duilib库自带的xml解析器. duilib使用unicode编译,所以rapidxml需要解析unic ...

  7. MySQL的多实例

    一.准备工作     1.关闭mysql进程     # pkill     # service mysqld stop         2.从系统服务中删除mysqld     # chkconfi ...

  8. 使用sqlmap注入DVWA的SQL Injection菜单

    1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...

  9. nginx方面的书籍资料链接

    http://tengine.taobao.org/book/ http://blog.sina.com.cn/s/articlelist_1929617884_0_1.html http://blo ...

  10. PL/SQL学习(一)

    原文参考:http://plsql-tutorial.com/ 组成: 声明部分(可选) 执行部分(必选) 异常处理(可选)       声明:         DECLARE       执行:   ...