WINCE SOURCES文件详解

来源:互联网 发布:瓦尔特编程软件 编辑:程序博客网 时间:2024/04/29 05:06

SOURCES文件是WINCE底层开发中最重要的文件之一,主要的配置项如下:

TARGETNAME,定义模块名称.
TARGETTYPE,
模块的种类,可以是DYNLINK, LIBRARY,EXE.
如果TARGETTYPEDLL,则可以定义DLLENTRY,Dll入口定义成别的不是DLLMain的函数,如果DLL的入口是DllMain,则不需要别的定义。
如果TARGETTYPEEXE,则可以定义EXEENTRY,用于指定EXE的入口函数.

如果TARGETTYPELIBRARY,则不需要定义入口函数。


INCLUDES
,如果一个模块需要使用非标准路径下的头文件时,需要定义INCLUDES,用于包含更多的头文件路径,用法如下:

INCLUDES=$(INCLUDES);/new directory/...,
注意定义新的INCLUDES,需要包含INCLUDES原来的值,否则就需要包含所有可能的目录。

TARGETLIBS,SOURCELIBS
用于定义该模块需要链接哪些库文件.


TARGETLIBS
,如果一个库以DLL的形式提供给调用者,就需要用TARGETLIBS,它只链接一个函数地址,系统执行时会将被链接的库加载。比如coredll.lib就是这样的库文件。即动态链接。

SOURCELIBS,将库中的函数实体链接进来。即静态链接,用到的函数会在我们的文件中形成一份拷贝。


注意,内核这个执行文件是没有TARGETLIBS的,GIISR.DLL也不能有TARGETLIBS


WINCECOD,如果将其定义为1,则编译器会为每一个文件生成.cod文件,它是一个汇编文件,调试时查看汇编代码也是一种很好的办法。

SOURCES,
定义该模块需要哪些源文件.

 

 

 

1 条评论:

  • 时间 11/3/07 20:10 , Blogger Xiaolin 说...

    你好 看了你的文章后大有收获
    我是个初学者,希望你多多指教!
    我现在在做BSP的移植,当Build的时候会出现一个错误:Building WCEFILES0 Pass in D:/WINCE600/PLATFORM/Xsbase270/Src/Drivers/Keypad/ directory.
    NMAKE : U1073: don't know how to make 'keypad.def'
    然后我就改了一下sources文件的一部分。
    将下面几句注释掉了:
    TARGETDEFNAME=keypad
    DEFFILE=keypad.def
    WINCETARGETFILE0=$(DEFFILE)

    改了以后:
    #TARGETDEFNAME=keypad
    #DEFFILE=keypad.def
    #WINCETARGETFILE0=$(DEFFILE)

    然后我再次Build就过了。请问这是什么原因阿?但是我觉得这样注释掉后,是不对的。请问这2个参数什么意思啊?TARGETDEFNAME和WINCETARGETFILE0

    如果你愿意的话,请加我的MSN:
    bairaulinter@hotmail.com

原创粉丝点击