EVC编译问题

hututu   2008-7-3 17:51 楼主
一个原来是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)

回复评论 (11)

http://topic.eeworld.net/u/20071229/11/84548b29-7c85-4f78-be50-2faaa22b0c39.html
相信这个贴能够帮助你
ps:LZ发帖前最好先收索一下
点赞  2008-7-3 17:58
从错误提示来看,你的程序好像之前是用sh3的cpu,而你现在想编译成arm的应用程序。
点赞  2008-7-4 12:58
估计是你制作ARM的SDK没有做好
点赞  2008-7-4 14:08
该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",确定即可.
没找到"属性页"->"配置属性"->"链接器"->"命令行"中的"附加选项"
点赞  2008-7-4 14:39
你是英文版本,应该是Linker->Advanced->TargetMachine
点赞  2008-7-4 14:56
我的是EVC. 非VS2005. 没有找到楼上所说的Linker->Advanced->TargetMachine菜单.
只有edit-->Advanced-->没有TargetMachine菜单
点赞  2008-7-4 16:11
楼主应该重新做一下sdk 问题就解决了
点赞  2008-7-4 20:10
我在这块板上一直用这个SDK. 做了很多个驱动和应用程序都没发现什么问题. 为什么判断是SDK的问题呢?
点赞  2008-7-8 10:07
建立工程时 选armV4I,对应的SDK也要选armV4I,先build一个release版本的,不要用debug版本
点赞  2008-7-8 10:19
引用: 引用 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里面的最后一句
点赞  2008-7-8 11:06
按照4楼/10楼的方法搞定了.
点赞  2008-7-9 09:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复