WINCE PB编译不过各种错误集锦
本文将不择手段搜集WINCE PB的各种编译不过的错误并给出解决方案或是相关思路,搜集资料来源:本人编译出错后得到解决后的学习笔记,网上搜集的资料,朋友的教导等,后面将会详细备注,大家一起交流.
一:不能sysgen,sysgen变灰色
检查BSP包的命名,所建工程的命名是否正确!
二:*(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET)函数不等于“CECE”
如下函数不执行:[ROM_SIGNATURE=“CECE”]
if (*(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET) == ROM_SIGNATURE)
{
//added by lqm,2009.07.11
//EdbgOutputDebugString(“*OEMMapMemAddr() = 0x%xrn”,*(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET));
EdbgOutputDebugString(“*OEMMapMemAddr() = 0x%xrn”,*(LPDWORD) OEMMapMemAddr (0x80200000,0x80200040));
EdbgOutputDebugString(“dwImageStart:0x%xrn”,dwImageStart);
EdbgOutputDebugString(“ROM_SIGNATURE_OFFSET:0x%xrn”,ROM_SIGNATURE_OFFSET);
EdbgOutputDebugString(“ROM_SIGNATURE:0x%xrn”,ROM_SIGNATURE);
// 紧接着存放CECE的后面就是TOC,里面存有NK.exe的地址.其中sizeof(ULONG)用于顺延存放CECE的四个字节区域
dwpToc = *(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET + sizeof(ULONG));
// 为了修正指针,需要再次映射一次
// need to map the content again since the pointer is going to be in a fixup address
dwpToc = (DWORD) OEMMapMemAddr (dwImageStart, dwpToc + g_dwROMOffset);
EdbgOutputDebugString (“ROMHDR at Address 0x%Xrn”, dwImageStart + ROM_SIGNATURE_OFFSET + sizeof (DWORD)); // right after signature
}
一起以为是没找着TOP里面的“CECE”,后来经魏公公指点,原来是之前生成的XIP.bin不是XIP模式的.
将processbib.exe,preromimage.bat两个文件放到D:WINCE500PLATFORMSMDK2450Files目录下,先copy files to release,
再make一下,生成的xip.bin就是xip模式的了.
三:PB编译时提示spawn failed:invalid argument错误
每次编译出错信息还不一样!
这次提示如下错误:
BUILD: [01:0000000836:PROGC ] Compiling .arcdlg.cpp
BUILD: [01:0000000839:PROGC ] Compiling .connectingdlg.cpp
BUILD: [01:0000000842:PROGC ] Compiling .dlgbase.cpp
BUILD: [01:0000000845:PROGC ] Compiling .events.cpp
BUILD: [01:0000000848:PROGC ] Compiling .mainwnd.cpp
BUILD: [01:0000000851:PROGC ] Compiling .rdrwarndlg.cpp
BUILD: [01:0000000854:PROGC ] Compiling .settings.cpp
BUILD: [01:0000000857:PROGC ] Compiling .utils.cpp
BUILD: [01:0000000860:PROGC ] Linking C:WINCE500publicrdpoaklibA
RMV4Iretailcetscbase.lib
BUILD: [00:0000000865:PROGC ] Compiling WINCE500PUBLICRDPOAKUITCETSCCLIP directory.
BUILD: [01:0000000872:PROGC ] Compiling .tscclip.cpp
BUILD: [01:0000000875:PROGC ] Linking C:WINCE500publicrdpoaklibarmV4Iretailcetscclip.lib
BUILD: [00:0000000878:PROGC ] Compiling WINCE500PUBLICRDPOAKUITCETSCUI directory.
BUILD: [01:0000000885:PROGC ] Compiling .tscui.cpp
BUILD: [01:0000000888:PROGC ] Compiling .maindlg.cpp
BUILD: [01:0000000891:PROGC ] Compiling .propdisplay.cpp
BUILD: [01:0000000894:PROGC ] Compiling .propgeneral.cpp
BUILD: [01:0000000897:PROGC ] Compiling .proplocalres.cpp
BUILD: [01:0000000900:ERRORE] NMAKE : U1045: spawn failed : Invalid argument
BUILD: [01:0000000903:ERRORE] NMAKE.EXE -i -c BUILDMSG=Stop. NOLINK=1 NOPASS0=1 failed - rc = 2
下面还有一个错误:
BUILD: [00:0000000101:PROGC ] Scan WINCE500PUBLICWCESHELLFEOAKWATSONDWUI
BUILD: [00:0000000106:PROGC ] Scan WINCE500PUBLICWCESHELLFEOAKWATSONDWCTLPNL
BUILD: [00:0000000109:PROGC ] Saving C:WINCE500PUBLICWCESHELLFEBuild.dat.
BUILD: [00:0000000111:PROGC ] Total of 0 pass zero files to compile in 14 directories.
BUILD: [00:0000000112:PROGC ] Building generated files in WINCE500PUBLICWCESHELLFEOAKCTLPNLcplmain.
BUILD: [00:0000000119:PR
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)