wince中如何在SOURCE中定义字符串

Sniper167 2009-07-10 11:45:43
有环境变量
SET PRJ_NAME=M8

想在一个.c文件里面能打印出这个项目名
RETAILMSG(1, (TEXT("PRJ_NAME = %s \r\n"), PRJ_NAME));

在SOURCE里面,要如何写?

CDEFINES=$(CDEFINES) -DPRJ_NAME=$(PRJ_NAME) 这样不行

CDEFINES=$(CDEFINES) -DPRJ_NAME=PRJ_NAME 这样也不行

那位来指点指点
...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sniper167 2009-07-11
  • 打赏
  • 举报
回复
呵呵 Paul Chao来的早呀
结贴给分
xumercury 2009-07-11
  • 打赏
  • 举报
回复
学习。比较实用的方法。
paul_chao 2009-07-11
  • 打赏
  • 举报
回复
我也不知, 试试可用就用吧

Paul, Chao @ Techware
Sniper167 2009-07-11
  • 打赏
  • 举报
回复
感谢Paul, Chao再次指点

SET PRJ_NAME=M8
CDEFINES=$(CDEFINES) -DPRJ_NAME=TEXT("""$(PRJ_NAME)""")
打印结果为M

SET PRJ_NAME=M8
CDEFINES=$(CDEFINES) -DPRJ_NAME="""$(PRJ_NAME)"""
打印结果为M8

所以要这样定义才正确 CDEFINES=$(CDEFINES) -DPRJ_NAME="""$(PRJ_NAME)"""


此外,想请老牛指点,为什么要用三个引号才可以呢?忘老牛给我解惑啊,全分相赠。谢谢

paul_chao 2009-07-10
  • 打赏
  • 举报
回复
CDEFINES=$(CDEFINES) -DPRJ_NAME=TEXT("""$(PRJ_NAME)""")

Paul, Chao @ Techware
Sniper167 2009-07-10
  • 打赏
  • 举报
回复
先感谢Paul, Chao老鸟赏脸来指点啊

下面是我的测试结果

1、这用写法:
CDEFINES=$(CDEFINES) -DPRJ_NAME="$(PRJ_NAME)"
loader.c(2018) : error C2059: syntax error : 'bad suffix on number'
loader.c(2018) : error C2146: syntax error : missing ')' before identifier 'X'

2、
CDEFINES=$(CDEFINES) -DPRJ_NAME=TEXT("$(PRJ_NAME)")
loader.c(2018) : error C2065: 'LL932' : undeclared identifier
loader.c(2018) : error C2059: syntax error : 'bad suffix on number'
loader.c(2018) : error C2146: syntax error : missing ')' before identifier 'X'
zhujinqiang 2009-07-10
  • 打赏
  • 举报
回复
帮顶
paul_chao 2009-07-10
  • 打赏
  • 举报
回复
CDEFINES=$(CDEFINES) -DPRJ_NAME=TEXT("$(PRJ_NAME)")

or
CDEFINES=$(CDEFINES) -DPRJ_NAME="$(PRJ_NAME)"
RETAILMSG(1, (TEXT("PRJ_NAME = %s \r\n"), TEXT(PRJ_NAME)));


现在没平台可试, LZ 就试试看吧.

Paul, Chao @ Techware

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧