首页| 论坛| 消息

标题:Sailfish SDK开发命令行简记
作者:XChinux
日期:2013-02-26 23:04
内容:

Sailfish SDK今日刚刚发布,下载下来试验了一下,安装时需要先安装VirtualBox(虚拟机软件),安装后,使用的是Qt Creator 2.6.2,开发时使用的是Qt 4.8.3和Qt Quick 1.1,打包使用的是rpm,SDK中包含了两个虚拟机(VM):

一个是MerSDK VM,里面是cross compile toolchains(在/opt/cross目录下),目前只自带了i486的版本,其它的还可以下载arm的各个版本的等。编译程序时实际上是在这个虚拟机上编译的,自己系统中的主目录在虚拟机启动时会挂载到MerSDK VM中的/home/mersdk目录下(mersdk用户主目录)。
另一个是SailfishOS VM,跑的是Sailfish手机操作系统。默认用户是nemo,软件安装在/opt目录下。
这两个虚拟机都可以通过证书登录:
ssh -p 2222 -i ~/.ssh/mer-qt-creator-rsa root@localhost

ssh -p 2222 -i ~/.ssh/mer-qt-creator-rsa mersdk@localhost

或者登录的是mersdk虚拟机,在里面/opt/cross/bin目录下有一大堆交叉编译工具链的文件:
ssh -p 2223 -i ~/.ssh/mer-qt-creator-rsa nemo@localhost

登录的是sailfishos虚拟机,copy方式(就是不打rpm包)运行时程序默认安装在/opt/sdk目录下。
所以呢,编译时,需要启动MerSDK VM,执行时,需要启动SailfishOS VM。
基本搞清楚了,现在试验的都是i486的,arm的现在没试验,也没真机啊。
假设SailfishOS SDK安装在$SailfishOS目录下(不需要root安装),则下面的目录下有几个文件:
$SailfishOS/share/qtcreator/MerProject/mer-sdk-tools/MerSDK/SailfishOS-i486-x86

qmake 、gcc、make、mv、mb等,都是shell脚本,脚本里面调用了merssh命令,来找到MerSDK虚拟机上的对应命令:
#!/bin/bash
$SailfishOS/bin/merssh -sdktoolsdir $SailfishOS/share/qtcreator/MerProject/mer-sdk-tools/MerSDK -commandtype sb2 -mertarget SailfishOS-i486-x86 qmake $@

#!/bin/bash ..


#1 [sailfish 02-27 15:46]
很不错的一贴 我这几天一直没有闹明白sailfish SDK 里面怎么两个虚拟机, 原来一个负责编译 一个负责运行虚拟系统用来执行编译后的程序,这样做似乎复杂了点吧,不如直接本地编译多省心,多搞出来一个虚拟机 难道是为了移植方便???可跨平台操作! 如果真是这样,看样子sailfish考虑的还真周全,开放联盟里有sailfish 恐怕以后会对andriod 和IOS 造成不小的影响。
#2 [sailfish 02-27 16:20]
楼主我想问下这个sailifish可以用纯C++ 开发吗?
#3 [XChinux 02-27 19:40]
可以。
#4 [XChinux 02-27 19:51]
维护一个平台架构的SDK要比维护N个平台交叉编译工具链省心吧。这样三大桌面平台上只维护IDE即QtCreater插件和MaitanceTool就可以了。
这或许是将来的趋势。
#5 回 4楼(XChinux) 的帖子 [sailfish 02-27 20:14]
嗯 有道理,看样子sailifish 做的还挺超前 比 BB10 更有先进的思想哈哈! 不过楼主 我刚才用了下 标准的 C++ 程序 写了一个在命令终端显示的hello world用sailfish SDK编译后 为什么说没有标准的
源代码如下
#include
using namespace std;
int main(int argc, char *argv[])
{
cout

<< 1 2 3 >> (1/3)

回复 发表
主题 版块