在WinCE BSP中会看到很多sources文件,一般会和源代码放在同一个目录,当然不是绝对的。这些sources文件里面就是定义了一些宏,主要用于告诉Build.exe在编译源代码的时候应该如何编译和链接,告诉Nmake.exe如何编译源代码以及最后生成什么类型的文件。

下面具体介绍一下:

TARGETNAME:最后编译完后生成的目标文件的名字,不包括扩展名。

TARGETTYPE:生成的文件的类型。具体值如下:

LIBRARY,一个.lib文件

DYNLINK,一个.dll文件

PROGRAM,一个.exe文件

RELEASETYPE:该宏设置两个环境变量RELEASEDIR和RELEASELIBDIR,就是设置编译后生成文件存放的路径。具体值如下:

PLATFORM,生成的文件在PLATFORM<BSPNAME><Target>

LOCAL,生成的文件在当前路径下

CUSTOM,生成的文件在TARGETPATH指定的位置

MANAGED,生成的文件在%_PROJECTROOT%OAK<Target>Managed

OAK, SDK, DDK,生成的文件在%_PROJECTROOT%Oak<Target>

TARGETPATH:当上面的RELEASETYPE=CUSTOM的时候,该宏指定路径

SOURCELIBS:静态链接。函数的实体被链接过来,生成一份拷贝

TARGETLIBS动态链接。函数的地址被链接过来,系统执行时会加载该库

INCLUDES:指定额外的要搜索的头文件的路径

SOURCES指定要被编译的文件

ADEFINES:指定汇编器要使用的参数

CDEFINES:指定编译器要使用的参数

LDEFINES指定连接器要使用的参数

RDEFINES指定资源编译器Rc.exe的参数

DLLENTRY指定dll的入口函数

DEFFILE指定该模块的.def文件

EXEENTRY指定可执行文件的入口函数

COPYRES如果设置了此变量,则会把资源文件复制到realease目录

LDEFSTACK指定程序中为栈保留多少空间大小,默认为64KB

PRECOMPLIED_CXX是否对C++ 文件使用与编译。构建系统默认对C程序预编译,如果代码是用C++写的,并且希望预编译,则必须指定此项。如:PRECOMPLIED_CXX =1

PRECOMPLIED_INCLUDE指定预编译文件名字

PRECOMPLIED_OBJ预编译生成的obj文件的名字

PRECOMPLIED_PCH指定预编译生成的pch文件的名字

PRECOMPLIED_TARGET同PRECOMPLIED_OBJ的效果

SKIPBUILD不做实际的build操作,直接返回成功

WINCECOD编译后生成一个.cod的汇编文件,用于查看汇编代码调试

WINCECPU用于说明为指定的CPU编译,这样被编译出来的目标文件会被放在_TGTCPU环境变量所指定的子目录下面,一般该宏在sourcesNaNn中定义。

WINCEMAP编译后生成一个.map文件,用于调试

WINCEOEM设置该值表示需要使用WinCE下的一些公用的库和头文件,该值一般在BSP中的sourcesNaNn中定义。

WINCETARGETFILE0用于告诉编译系统在编译当前路径下的源码文件之前,要先由Build.exe编译的目标文件。

WINCETARGETFILES用于告诉编译系统在链接当前路径下所有的目标文件之前,要先由Build.exe编译的目标文件。

WINCE_OVERRIDE_CFLAGS用于定义用户自己的编译器参数取代默认的编译器参数

转载于:https://blog.51cto.com/bluefish/1239074

Source file相关推荐

  1. ninja Compiling the C compiler identification source file CMakeCCompilerId.c failed

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed 同时,控制台也报错: ...

  2. error C4335: Mac file format detected: please convert the source file to either DOS or UNIX format

    vc里面遇到这个问题的解决方案 error C4335: Mac file format detected: please convert the source file to either DOS ...

  3. Eclipse - CDT使用GDB调试C++的问题-无源文件命名(No source file named)

    CDT使用GDB调试C++的问题(No source file named) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/170 ...

  4. Fatal Error[Pe1696]:cannot open source file “sys.h”

    STM32的IAR工程报错: Fatal Error[Pe1696]: cannot open source file "sys.h" 解决方法: 将#include " ...

  5. fatal error C1083: Cannot open source file

    在VS2008  VC++项目中,新建了一个cpp文件,然后在物理硬盘上手动删除了,就出现如下错误. 1>------ Build started: Project: test, Configu ...

  6. hive报错Could not get block locations. Source file “/user/hive/warehouse/xxx

    hive报错 Could not get block locations. Source file "/user/hive/warehouse/xxx... 以及 Caused by: or ...

  7. 文件路径名太长导致IAR编译报错:Fatal Error[Pe1696]: cannot open source file

    在用IAR编译CC2640R2F工程的时候,报错: gattservapp_util.c   Fatal Error[Pe1696]: cannot open source file "xd ...

  8. vscode无法识别头文件“cannot open source file “gnu/stubs-64.h“”

    使用vscode时,一直无法识别头文件,于是首先尝试: g++ -v -E -x c++ - 查看g++的包含路径 将路径添加到c_cpp_properties.json下 然后还是不好用... 又根 ...

  9. dev cpp source file not compiled

    source file not compiled https://sourceforge.net/projects/orwelldevcpp/ 从这个上面下载的, 文件名 有时候 是中文的 会出现 只 ...

  10. C++:cannot open source file问题

    最近,在一些项目中只要引用了标准C++代码的地方,都会报cannot open source file这样的错误,比如: 查找问题后发现,是由于Configuration Properties -&g ...

最新文章

  1. Error in value[[3L]](cond) : You have a 32-bit version of Java. H2O works best with 64-bit Java.
  2. android 默认中文时区,修改android默认系统语言为中文和时区
  3. URLEncoder.encode转译后“空格”变“加号”的问题的解决方案
  4. Codeforces Round #168 (Div. 2)D. Zero Tree(DP,中等难度)
  5. 网页小图标Favicon
  6. implementation of UI5 bindAggregation - busyDialog is handled automatically
  7. c语言全段字符的类别,言语理解规律整理d0c.doc
  8. 服务器装系统后没有移动硬盘盘符
  9. canvas需要gpu_提高HTML5 canvas性能的几种方法(转)
  10. [2018.07.12 T3] B君的第三题
  11. JDBC连接MySQL数据库出现的错误及解决方法整理
  12. 电商如何抢占“双十一”?试试自动化仓库机器人 | 行业
  13. 关于mybatis整合spring时报java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/Trasactionwar
  14. SK 注意力模块 原理分析与代码实现
  15. 一款英国折叠车如何在中国城市流行?
  16. 程序员转行都去干嘛了?产品经理很正常,这位卖烧饼的也太强了
  17. ChatGPT专业应用:自动生成长尾关键词
  18. 兵法三十六计第二计-围魏救赵。
  19. 查看/修改git用户名密码
  20. 浅谈八百呼电销系统的基础功能

热门文章

  1. ListView设置EmptyView之后不显示
  2. kotlin学习笔记——sqlite(anko)
  3. WPF中的一些常用类型转换
  4. hibernate 学习笔记1
  5. 经典面试题 之 子数组之和最大值
  6. 《编程珠玑》笔记3 数据结构选择
  7. JavaScript学习笔记(十五)
  8. Spring之旅—Spring模块介绍
  9. 跟踪调试JDK源码时遇到的问题及解决方法
  10. jQueryh插件imgareaselect