Linphone iphone编译-iOS6

同事说上次编译的Liphone在某些SIP Server上有单通的现象,于是重新下载了代码编译一次,结果这回出现一个错误:

llvm-gcc-4.2: Invalid arch name : armv7s

对于水果的东西还真是不太熟,搞了小半天终于明白了,armv7s是IPhone 5的A6处理器的指令集,上次编译的时候还没有,用的是armv7,现在Linphone已经支持IPhone5了,所以是我的gcc太老了支持armv7s。我的XCode是4.5,用的llvm-gcc是XCode自带的,但是MacPorts好像也有gcc,所以昨晚走的时候一边port upgrade一边重新安装XCode Command Line Tools,结果早上来的时候已经可以编译了,只不过搞不清楚倒是哪个升级的gcc,:), 估计还是xcode的可能性比较大。现在的gcc版本是:

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

不过倒是也看到有老外说未经真机测试不要发布支持IPhone5的应用,说的也有道理,升级到iOS6的4s确实不能替代IPhone5来做测试,好吧,反正IPhone5快上了,搞一台来做测试吧。

20121207: 晕死了,发现上次编译成功是因为那天下班前我把Makefile里头的armv7s改成armv7了,然后又升级了port和xcode,结果就忘了Makefile这回事儿了,所以实际上新代码还是按照armv7编译的,不是armv7s。这个问题还在,还得再看看。

早上和一出租蹭了

早上刚过建国门桥,走在里道,前面一个出租车不打灯突然拐了过来,距离太近了,也就六七米的样子,急刹车也来不及,结果车头蹭到了他的车门,出租车司机倒是还好,说他全责,于是把车挪到隔离带上,然后麻烦就来了,司机不肯走保险,非要私了,但是又不怎么肯出钱,说让我把车给他修,让我一度怀疑他没保险,搞了半天结果说公司知道了,肯定得要走保险,还得上午就去,我说今天去我得请假啊,你给我工资啊?最后折腾半天,签了自行解决协议了事儿。折腾了一个多小时,今天可真冷啊。本来还想找一个周末能定损的地儿,结果还一定得要去他们公司那边,周末还不上班,唉,又得耽误时间。今天不知道是啥日子,回家翻翻黄历去。

我要出去玩

一般周末都是我和Michelle带大宝出去玩,今天早上我要走的时候大宝正在吃奶,看见我穿好衣服马上就坐起来不吃了,张开手要我抱,抱起来告诉他今天爸爸要上班去了,外婆带你出去玩;看看外婆没穿外套呢,搂住我不肯放,结果只能找了一个包装盒拍着吸引他的注意力,然后俺就把他放下偷偷的跑了,还幸亏外公挡住了他的视线。。。这孩子,你咋记性这么好呢

周末看球结果不错

曼联就不说了,再次逆转,而且弗莱彻付出进球了,状态不错;埃文斯也没那么软了,有点气质了;小豌豆则一如既往的神奇;费迪南德的状态也不错,下半场频频带球钱压。至于那个丢球,也不好说是谁的责任。而且切尔西战平曼城,这也是最好的结局了。

虽然那个点球有点疑问,但是米兰好歹赢了尤文,要是放以前也没啥,不过对于这支米兰还是挺能振奋士气的。希望这是个好的开始。

看来以后还得多看看球,虽然老婆说你那是看球么,我怎么光听见你的呼噜声了。。。难道就不许边看球边打呼噜么?

午睡

最近老犯困,上周五爆发了,吃完饭可能十二点四十多吧,饭盒也没洗,趴下就睡,结果醒来就2点了,还是困,然后躺在椅子上又睡了一觉,结果就到3点了,惭愧啊。。。今天吃得早了点,还不困,结果也是12点40多睡的,结果一觉醒来还是2点,幸好悬崖勒马没有继续睡,唉,下次还是早点睡吧

孙皓晖 – 大秦帝国

老是有人推荐这部书,打折的时候倒也不贵,可是想想那厚厚的十大本书,再想想家里不知道堆在哪个角落里的几箱子书,最后还是放弃了买书的念头,找了本电子书看。

书确实够长的,手机上看了两个多月,确实不错,值得一看。对于这段历史确实了解得很少,以前的一点点了解都来自中学历史书,还有就是连环画了,还记得里头有章邯发囚徒为军的情节,这部书在很大程度上弥补了这段空白。

如果非要找缺点的话稍微有点虎头蛇尾,还有就是有时候历史性的叙述太多,小说性不强,尤其是后几部。其他的就是一些小问题了,比如说商鞅的儿子第一部已经花了一些笔墨来铺垫了,但是后头没有了呼应。再比如秦始皇发丧之后蒙恬应该能够发现王离见秦j始皇的时候已经死了,是有人冒充秦始皇骗了王离。再比如对秦始皇的评价,以及说始皇陵是李斯在秦始皇死后修建,和秦始皇没有关系等,似乎和历史略有偏差。其实这只是历史小说不是历史书,怎么写都可以,但是书里历史性太强了,有时难免会有错觉。

当然这些都是小问题,无伤大雅,整体来说还是很值得一看的,有兴趣的建议看看,应该不会失望的。

大宝感冒了

不知道是什么时候冻着了,周六他就不太舒服,老是张着嘴伸着舌头,可是这笨爸笨妈不知道是鼻子塞住了,以为他口渴,就喂他喝了点水。后来晚上一直闹腾不肯睡觉,就要自个儿在床上玩,一抱起来就哭,最后总算睡着了,觉得他肯定哪里不舒服了,但是自己玩的时候还挺高兴的。,所以也没在意。
周日早上起来就发现有点微热,而且还打喷嚏流鼻涕,鼻涕还得感觉给他擦了要不然就吃进去了。赶紧给他多穿点衣服; 多喂了几次水,平常不肯喝水的,现在到喝得挺好; 再拿热毛巾给他擦了几次。小孩虽然不舒服,心情倒还不错,平常也不闹腾,晚上估计也有点累了,很快就睡了。
今早起来热度已经退了,鼻涕也已经好多了,现在已经睡着了,希望明天早上能彻底好了。

Windows Update失败之后Live Messenger 2011不可用

周二下午开的Windows Update,昨天早上来的时候发现Windows Update死掉了,强行退出,最后说成功N项,失败3项,当时也没在意,重启之后Live Messenger登陆不上了,开始也没在意,登录不上也是常事儿,但是过了好一会儿他自己也没登录上去,再一看似乎不太寻常:一点登录马上就报错了,感觉根本没去联网,而且Connection Tester也说可以连到Window Live Messenger Service。根据错误信息:

Error 80040154: Signing in to Windows Live Messenger failed because the service is temporarily unavailable. Please try again later.

试着来重装Live Messenger,添加删除程序里头找不到Windows Live了,那估计是Windows Update把Messenger搞坏了,用Windows Install Clean Up删掉Live系列之后重装,结果到了99%之后安装失败:

windows_live_messenger_login_failed_2.jpg

这个A49B6681220C2EA49826看起来像是一个注册表项,搜了一下还真找到了,但是删除的时候出错:

windows_live_messenger_login_failed_4.jpg

之后再安装也还是这个问题。后来在微软网站找到一篇讲怎么重装的:

http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/signing-in-to-windows-live-messenger-failed/db5c300b-b06a-43c0-8b8e-bef680657bbe

照做了也还是不行,连看起来比较无厘头的Reset Internet Explorer Settings俺也照做不误,结果也还是这个问题,而且失败的那三个Update和Windows Live也没啥关系:

windows_live_messenger_login_failed_1.jpg

点安装失败界面上提供的帮助得到:

One or more Microsoft programs didn’t install. What went wrong? – Program didn’t install

居然说要打开Windows Fire,我本来就是开着的。

后来根据错误代码0x80070643找到了这篇,看得时候感觉很靠谱,结果还是不行:

How to resolve “Unable to open Sub key” Error when installing an MSI package?

试着用System Restore,但是已经找不到更早的恢复点了,发现似乎和Silverlight有点关系:

windows_live_messenger_login_failed_3.jpg

但是又失望了,卸了Silverlight之后还是无法安装。

最后俺承认失败,老老实实装了Live Messenger 2012了事儿。这问题似乎无解,如果出现还是早点System Restore比较划算,要不然只能重装系统了,还好2012还能用。

控诉微软,搞得什么烂东西,躺枪的别怪我啊,嘿嘿

VS2008找不到windows.h和mt.exe

改了一个VS2008的C++ Project,结果编译的时候报了一个让我大跌眼镜的错误:

fatal error C1083: 无法打开包括文件:”windows.h”

这个windows.h看名字很牛x的样子,难不成是VS2008没装好?大概看了一下,有人说是路径问题,windows.h应该在c:Program Files (x86)Microsoft SDKsWindowsv6.0A下面,可是俺的下面没有啊,隔壁的V5.0下面倒是有,可是也不好用。有人说要装Platform SDK,结果说setup was started in a non-native or WoW environment。这个倒是好理解,估计是不支持win7,直接下了个Windows SDK for Windows 7,是下载安装的,全部安装的话有2.3G,有必要搞这么大么。。。我只选Windows Headers and Libraries,结果也有180M,搞笑的是我就算把所有的都不选他也需要110M的空间,似乎VS2008安装的时候也这样,就算是有非装不可Features那你列一下也不是太麻烦吧,何必搞这么诡异呢?

不过总算这个问题是解决了,然后就是说找不到msado60_Backcompat_x64.tlb,这个好办,直接下载一个就可以:http://download.microsoft.com/download/6/4/3/64318ED2-7E18-4A5C-80E2-9BDA0DF02DB3/msado60_Backcompat_x64.tlb

最后一个问题最搞笑:

error PRJ0003 : 生成”mt.exe”时出错。

让我愣了好久,我的项目里头没有一个叫mt.exe的目标文件啊,看了一下生成的日志文件,前面有一行说:

正在创建命令行”mt.exe @。。。。。。

老天爷啊,真是神一样的翻译啊,C盘搜了一下,没找到mt.exe。

找了一下,答案也是五花八门,有的说要清除一下解决方案,这个对我来说显然不是;也有人说权限不够,结果用管理员权限打开VS2008之后问题更多了,原来8个项目还有两个能编译的,结果那俩也不行了;也有的说要安装 ATL Server的,看了一下ATL Server的介绍觉得也不太靠谱;也有的说是要改环境变量,有的说加VS包含路径,这些都不行。最后看到有一篇文章上讲到:

3、error PRJ0003 : 生成”mt.exe”时出错

原因未明

解决办法:

中文版VS:右键点击工程,选”属性”==>”配置属性”==>”链接器”==>”清单文件”==>”生成清单”==>设为”否”

这个能解决问题,但只是把执行mt.exe的那一步省略了而已。最后看了一下,说mt.exe是Visual Studio自带的Manifest处理程序,可是打开VS2008安装程序之后也看不到是哪个组件,最后搜了一下,微软网站上找到一篇文章:http://msdn.microsoft.com/en-us/library/windows/desktop/aa375649%28v=vs.85%29.aspx,说了它属于Windows SDK的Side-by-Side Assembly Development Tools,原来还是这个Windows SDK啊,打开安装程序一看,里头有一个Windows Development Tools,装上就可以了。

说实在的VisualStudio还真是难用啊,感觉这些东西直接全部安装最靠谱。。。