西藏,对我还是个神秘的地方。梦想去西藏多年了,自从爱好起自行车长途骑行出游以来,就一直梦想着到西藏的行程。
今年,青藏铁路开通了,西藏游客数量将加速增多,如果再过几年,也许西藏也会被同化成和内地一样了。
第一次长途骑行使我对人生的看法有了变化。如果走一趟西藏,山川、路途、辽远、跋涉,我想走过一次将会再看到新的人生。
近一年来的风风波波,已厌倦了工作、厌倦了喧嚣,真想快些走出去啊。
西藏,对我还是个神秘的地方。梦想去西藏多年了,自从爱好起自行车长途骑行出游以来,就一直梦想着到西藏的行程。
今年,青藏铁路开通了,西藏游客数量将加速增多,如果再过几年,也许西藏也会被同化成和内地一样了。
第一次长途骑行使我对人生的看法有了变化。如果走一趟西藏,山川、路途、辽远、跋涉,我想走过一次将会再看到新的人生。
近一年来的风风波波,已厌倦了工作、厌倦了喧嚣,真想快些走出去啊。
这几天在弄一个调用了WMSDK和引用了Windows Media Player 9/10 组件的ActiveX组件。生成了一个 .ocx,将要发布时在一台 Windows 2000 with SP4 + WMP9 的“干净”机器上测试时,发现这个 ocx 文件不能通过 regsvr32 注册(缺少dll那种错误)。
找了好久的原因……,主要呐闷的是:同样条件编译的.exe应用程序在同样的环境中运行没有问题,但这个ocx就是不能注册。
通过 UltraEdit 查看 .ocx 的16进制内容,及用 tdump -em. 发现在这个 .ocx 中有两个不常见的 dll:wmvcore.dll、vcltest3.dll 和 stlpmt45.dll。
其中,wmvcore.dll 在安装 WMP9 后就出现的 dll,应该没有问题。后两个文件缺是 C++Builder 自己的 bin 目录中的。为了测试,将这两个文件复制到 ocx 的目录中、system32 目录中,ocx还是不能注册(ocx换方案编译也不行)。
一气之下,将 C++Builder bin 下的所有内容都复制到 ocx 目录中……,竟然注册成功了——确定了问题就在这些库中,一点一点的查,最终发现 ocx 的注册需要 cc3260mt.dll、stlpmt45.dll,那个 vcltest3.dll 却不是必须。
在网上查资料:cc3260mt 似乎是关于 Use dynamic RTL 选择打开后,使用 MultiThread 编译的程序所需的,stlpmt45.dll 到是没有查到什么结果(我一直以为它是 STL 的什么库,后来确认程序通过他来调用 cc3260mt.dll)。
关于 Use dynamic RTL:
默认情况下使用 C++Builder 开发编译的应用程序,是需要一些 Borland 的运行时库来支持的。像我这样从Delphi“转型”过来的人应该知道:将 Project->Options->Packages 里的 Build with runtime packages 取消选中,可以脱离 Borland Package Library 运行时库。
但在 C++Builder 里光去掉上面这项还不能完全解脱。Project->Options->Linker->Use dynamic RTL 选项也去掉(印象中如果不去掉它会需要 BorlandMM.dll)。
看到网上的资料说 cc3260mt 也是用于对 dynamic RTL 支持的,便在 DLL项目中左看右看,也没看到那个 Use dynamic RTL 打着勾。
这个 DLL 项目使用了两个自己开发的 .lib,这两个 .lib 也用于 EXE 项目的开发,所以一直没有想问题会不会出在 .lib 上(尽管也更改过一些选项重新编译过这两个 .lib)。
翻来覆去的看,突然发现:原来 LIB 项目的 Project->Options->TLib 页里,也有一个 Use dynamic RTL 项,把这两个 LIB 项目的这个选项去掉,再编译生成 .ocx ——一切正常啦……
还是奇怪为什么 .exe 的应用就不受 .lib 中的这个选项的影响。是已经影响了我没发现?或是 .exe 或 .ocx 编译时哪个编译器有 BUG?呵呵,又是说人家的错,还是别没事就把错归结到人家头上。有错先找自己原因,反正现在的问题解决了,先睡觉再说。
写这篇文章地目的是:
多写一篇凑数(好长时间没写了),希望提交时别报错。
超级女生去年火的不得了,今年我也来看看。这几天看海选,挺有意思的,无论是看人出丑还是看明星之路都是有看头的。去年的没怎么看过,今年的超女海选感觉评委的点评、商业运作都是挺好的,欢快、活泼、平等(至少看上去)。
刚才碰巧又看了殃视的《梦想中国》海选。太恶心了,评委是什么完意儿啊,说的话比超女的评委打击人打击的还要厉害;歌手表现15秒,几个评委要说上两分钟;人家超女鼓励人“想唱就唱”,梦想中国就是啰啰嗦嗦告诉别人:你的外型和声音不适合唱歌,还是别想当歌手了。