亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ppc2003移植到wm5.0

系統 2112 0
-

最近在看一個demo,是在vs2005下面的ppc2003上用c++編寫的,而我用的平臺是wm5.0的,所以修改了配置平臺,試試運行(以前也在wm5.0上運行過ppc2003的程序,沒有問題),可是就出現問題。記錄如下,

一、當只是修改了平臺時,

報錯:

警告 warning LNK4068: 未指定 /MACHINE;默認設置為 X86? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

fatal error LNK1112: 模塊計算機類型“ARM”與目標計算機類型“X86”沖突

查找原因:

所使用的外部*.obj是X86機型的,而正在編譯的目標是ARM機型。應該從新將外部*.obj編譯成ARM機型的。

解決方法:鏈接器 ->?命令行 -> 附加選項, 添加? /MACHINE:ARM

二、報錯:

fatal error LNK1112: 模塊計算機類型”THUMB”與目標計算機類型”ARM”沖突

參看: http://www.rushlife.cn/?p=120

解決辦法:
1.新建項目時,在”平臺”->”選擇要添加到當前項目中的 Platform SDK。”中,把”已安裝的 SDK”全部添加到”選定的 SDK”
2.在”屬性頁”->”配置屬性”->”鏈接器”->”命令行”中的”附加選項”里,有如下命令:”/subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE”,在其后加入命令:” /MACHINE:THUMB”,即附加選項現在內容為:” /subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE /MACHINE:THUMB”,確定即可.

我的修改后是:/subsystem:windowsce,5.01? /machine:ARM /ARMPADCODE /MACHINE:THUMB

?

三、可是又來了一堆錯誤

?

?咨詢別人,得知沒有添加lib,于是查找, 原來ppc 2003有的lib,轉換成mobile 5.0后就沒有了,又重新添加了lib

屬性-〉c/c++ -〉常規->附加文件目錄? 和? 鏈接器-〉常規-〉 附加庫目錄

添加demo相應的lib路徑

?

四、錯誤,又是錯誤

fatal error LNK1104: 無法打開文件“secchk.lib”

搜索:msdn上的討論: http://social.msdn.microsoft.com/forums/en-US/vssmartdevicesnative/thread/fadf321d-25bd-4e8f-856c-e015066d155c/

看得我云里霧里的,沒看明白,在pc機上搜索,發現這個文件的路徑在:

Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\PocketPC2003\Lib\armv4

是ppc2003的文件,于是復制到項目文件下試試,果真,沒有這個錯了,換了一個

fatal error LNK1104: 無法打開文件“ ccrtrtti.lib

同樣在ppc2003,再復制過來,可以運行了,沒有錯誤,只有警告

與這兩個文件相關的pdb(相同路徑下),然后把pdb復制到項目下,程序運行,沒有警告。

?

五、別人的經驗

Ⅰ? 移植PB的代碼到VS2005的一次經歷

http://mobilesir.spaces.live.com/Blog/cns!48C02BAA1CD51400!229.entry

開發環境:
?1.vs2005
?2.Windows mobile? 2003/5.0
注意:
1.打開VS2005->項目屬性->c/c++->代碼產生->Buffer Security Check ->NO/(GS)
然后編譯,成功.
不打開(激活)緩沖保護,可以順利在VS2005中編譯先前的EVC代碼.
因為基于CE4.2 (WM2003)系統里沒有安全函數,而VS2005默認/GS編譯先項
是打開的,主要是為了防止代碼緩沖區益出,提高安全性。
所以我們要在VS2005中編譯先前的EVC代碼,可以用這種方法。但不推薦
,請用下面方法。
2。打開VS2005->項目屬性->鏈接器->命令行->加入secchk.lib
然后編譯,成功。
填加secchk.lib,就是為了在基于CE4.2 (WM2003)系統里填加了安全函數
不必關閉VS2005的/GS編譯選項。雖然生成代碼多了1K,但這也是值得的。
因為secchk.lib提高安全性,有效防止緩沖區益出。推薦用此方法在VS2005
編譯基于CE4.2 (WM2003)的EVC代碼。

?

Ⅱ? PPC程序低版本到高版本移植的問題

? http://seraphim-zhai.spaces.live.com/blog/cns!B842D90502D29D25!287.entry

在msdn完整的說法是,建議在遷移evc的project時,
? Ignore Specific Library (忽略特定庫) 加上 oldnames.lib
AdditionalDependencies
(附加依賴項)加上 commctrl.lib coredll.lib aygshell.lib secchk.lib ccrtrtti.lib

其實針對wm5.0的做法是:
編譯選擇 ARM4 ,可以不起用混合調用,然后linker中的Target Machine選擇 Not Set

?

Ⅲ? Manually migrate Embedded Visual C++ workspace to Visual Studio 2005 (Beta 2) without using Migration Assistant (Upgrade Wizard) 后的相關評論

http://windowsmobilepro.blogspot.com/2005/08/manually-migrate-embedded-visual-c.html

Yes, all my 20+ projects were actually manually migrated and build successfully. Just a reminder: " secchk.lib " and " ccrtrtti.lib " are only needed if you are building for Pocket PC 2003 and Smartphone 2003 platform. They are not needed for 5.0 platforms.

I do not use MFC, just straight C++ and Windows Mobile API. I do not think there is any problem in migrating MFC classes, as I found the following lib files for MFC:
C:\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\

The MFC source code is also shipped as usual. Under a parallel directory you can find the MFC runtime DLLs. One thing you need to pay attention is that few 5.0 devices actually ship MFC runtime so you have to install it yourself.

?

都試試了,沒有用,不知道是不是修改的問題。

下一步,理解demo的結構,自己編一個程序。

?

?

?


?

?

ppc2003移植到wm5.0


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩高清在线日韩大片观看网址 | 欧美高清一区 | 精品无人乱码一区二区三区 | 亚洲精品美女在线观看 | 神马影院我不卡影院 | 国产99精品| 牛牛a级毛片在线播放 | 国产精品高清在线观看地址 | 久久精品成人一区二区三区 | 久久综合久久美利坚合众国 | 国产九色 | 成人免费视频在线看 | 天天干天天舔天天操 | 国产成人禁片在线观看 | 九九视频精品全部免费播放 | 国产亚洲漂亮白嫩美女在线 | 国产成人91 | 色偷偷91久久综合噜噜噜 | 人人草影院 | 久久精品99成人中文字幕880 | 欧美一级毛片免费观看视频 | 成人亚洲欧美综合 | 欧美成人观看 | 亚洲另在线日韩综合色 | 欧美成人hd | 四虎影院在线视频 | 久久久久久久久中文字幕 | 99热免费| 久久精品一区二区三区日韩 | 久久精品国产曰本波多野结衣 | 波多野给衣一区二区三区 | 男女车车好快的车车免费网站 | 久久国产精品亚洲77777 | 国产精品久久福利新婚之夜 | 国产国产人免费观看在线视频 | 免费一级特黄特色黄大任片 | 亚洲免费福利 | 亚洲精品高清在线一区二区三区 | 国产精品免费aⅴ片在线观看 | 亚洲va欧美va人人爽夜夜嗨 | 狠狠操她 |