一个原来是standard SDK的程序. 用EVC编译时候选择standard sdk编译OK.
我选择ARM的SDK. 采用WCE ARM4I编译后. 出错提示如下: 请问是怎么回事.如果排除
Deleting intermediate files and output files for project 'CEFind - Win32 (WCE ARMV4I) Release'.
--------------------Configuration: CEFind - Win32 (WCE ARMV4I) Release--------------------
Compiling...
CEFind.c
Linking...
.\ARMV4IRel\CEFind.obj : fatal error LNK1112: module machine type 'ARM' conflicts with target machine type 'SH3'
Error executing link.exe.
CEFind.exe - 1 error(s), 0 warning(s)
http://topic.eeworld.net/u/20071229/11/84548b29-7c85-4f78-be50-2faaa22b0c39.html
相信这个贴能够帮助你
ps:LZ发帖前最好先收索一下
从错误提示来看,你的程序好像之前是用sh3的cpu,而你现在想编译成arm的应用程序。
该SDK是通过PB制作的.应该没问题. 我用这个SDK做了多个应用程序运行良好.
程序原来是用SH3的CPU. 我现在想改为ARM平台.
二楼的那个方法如下:
1.新建项目时,在"平台"->"选择要添加到当前项目中的 Platform SDK。"中,把"已安装的 SDK"全部添加到"选定的 SDK"
2.在"属性页"->"配置属性"->"链接器"->"命令行"中的"附加选项"里,有如下命令:"/subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE",在其后加入命令:" /MACHINE:THUMB",即附加选项现在内容为:" /subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE /MACHINE:THUMB",确定即可.
没找到"属性页"->"配置属性"->"链接器"->"命令行"中的"附加选项"
你是英文版本,应该是Linker->Advanced->TargetMachine
我的是EVC. 非VS2005. 没有找到楼上所说的Linker->Advanced->TargetMachine菜单.
只有edit-->Advanced-->没有TargetMachine菜单
我在这块板上一直用这个SDK. 做了很多个驱动和应用程序都没发现什么问题. 为什么判断是SDK的问题呢?
建立工程时 选armV4I,对应的SDK也要选armV4I,先build一个release版本的,不要用debug版本
引用: 引用 4 楼 cokeliu 的回复:
该SDK是通过PB制作的.应该没问题. 我用这个SDK做了多个应用程序运行良好.
程序原来是用SH3的CPU. 我现在想改为ARM平台.
二楼的那个方法如下:
1.新建项目时,在"平台"->"选择要添加到当前项目中的 Platform SDK。"中,把"已安装的 SDK"全部添加到"选定的 SDK"
2.在"属性页"->"配置属性"->"链接器"->"命令行"中的"附加选项"里,有如下命令:"/subsystem:windowsce,4.20 /machine:ARM /ARMPADCODE",在其后加入命令:" /MACHINE:T…
这个就是EVC下面的Project->Settings->Link->Project Options里面的最后一句