Source file
在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相关推荐
- ninja Compiling the C compiler identification source file CMakeCCompilerId.c failed
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed 同时,控制台也报错: ...
- 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 ...
- Eclipse - CDT使用GDB调试C++的问题-无源文件命名(No source file named)
CDT使用GDB调试C++的问题(No source file named) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/170 ...
- Fatal Error[Pe1696]:cannot open source file “sys.h”
STM32的IAR工程报错: Fatal Error[Pe1696]: cannot open source file "sys.h" 解决方法: 将#include " ...
- fatal error C1083: Cannot open source file
在VS2008 VC++项目中,新建了一个cpp文件,然后在物理硬盘上手动删除了,就出现如下错误. 1>------ Build started: Project: test, Configu ...
- 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 ...
- 文件路径名太长导致IAR编译报错:Fatal Error[Pe1696]: cannot open source file
在用IAR编译CC2640R2F工程的时候,报错: gattservapp_util.c Fatal Error[Pe1696]: cannot open source file "xd ...
- vscode无法识别头文件“cannot open source file “gnu/stubs-64.h“”
使用vscode时,一直无法识别头文件,于是首先尝试: g++ -v -E -x c++ - 查看g++的包含路径 将路径添加到c_cpp_properties.json下 然后还是不好用... 又根 ...
- dev cpp source file not compiled
source file not compiled https://sourceforge.net/projects/orwelldevcpp/ 从这个上面下载的, 文件名 有时候 是中文的 会出现 只 ...
- C++:cannot open source file问题
最近,在一些项目中只要引用了标准C++代码的地方,都会报cannot open source file这样的错误,比如: 查找问题后发现,是由于Configuration Properties -&g ...
最新文章
- Error in value[[3L]](cond) : You have a 32-bit version of Java. H2O works best with 64-bit Java.
- android 默认中文时区,修改android默认系统语言为中文和时区
- URLEncoder.encode转译后“空格”变“加号”的问题的解决方案
- Codeforces Round #168 (Div. 2)D. Zero Tree(DP,中等难度)
- 网页小图标Favicon
- implementation of UI5 bindAggregation - busyDialog is handled automatically
- c语言全段字符的类别,言语理解规律整理d0c.doc
- 服务器装系统后没有移动硬盘盘符
- canvas需要gpu_提高HTML5 canvas性能的几种方法(转)
- [2018.07.12 T3] B君的第三题
- JDBC连接MySQL数据库出现的错误及解决方法整理
- 电商如何抢占“双十一”?试试自动化仓库机器人 | 行业
- 关于mybatis整合spring时报java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/Trasactionwar
- SK 注意力模块 原理分析与代码实现
- 一款英国折叠车如何在中国城市流行?
- 程序员转行都去干嘛了?产品经理很正常,这位卖烧饼的也太强了
- ChatGPT专业应用:自动生成长尾关键词
- 兵法三十六计第二计-围魏救赵。
- 查看/修改git用户名密码
- 浅谈八百呼电销系统的基础功能