程式者的胡言亂語

pageicon 星期二 六月 30, 2009

用cegcc編譯出來的DLL無法在Windows Mobile 6.1上的機器載入

這個問題發現好幾個月了,但這次又有人問起,臨時找不到,所以我一定要筆記一下,不然再遇到又會忘記。基本上就是Windows Mobile 6.1上的記憶體管理機制有一些改變,導致某些DLL無法被載入。有一個workaround,請參考這邊:18. DLL doesn't work with Windows Mobile 6.1


目前看到的受害者都是試著把ffmpeg弄到Windows Mobile上跑的人。錯誤訊息會像是「'MyProgram' is not a valid Windows CE application」或是「不是一个有效的PocketPC应用程序」之類的,總之,如果你在LoadLibrary後去取GetLastError()值,會取到c1,也就是ERROR_BAD_EXE_FORMAT。但問題並不出在EXE檔本身的格式,而是DLL的問題。

迴響:

發表迴響:
  • HTML 語法: 關閉
把對母乳媽媽的感謝與支持傳出去

« 九月 2010
星期日星期一星期二星期三星期四星期五星期六
   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  
       
今日

Search this blog

Links

Weblog menu

Today's referrers

Feeds