error:stray “##“in program;error:expected initializer before string constant

“配置不规范,调试两行泪。”

——同事zian哥哥


在linux系统编译的时候碰到两个宏定义相关的error

1. error:stray "##"in program;

2. error:expected initializer before string constant

(因涉及别人的知识产权,故此处纯描述,不粘贴代码。)

该宏用于生成测试函数及其相关的类,嵌套层数较多、调用较多。

1. 第一次尝试:我首先写了类似的短一点的嵌套,请chatgpt解析,没问题。

2. 第二次尝试:手写调用该宏的函数,逐层手动写下去,去查看是否正确,没问题。

3. 第三次尝试:请教同事,他一眼丁真,我用Visual Studio2019打开的code不知道为什么自动给每一行代码中间空了一行,这个空行遇到了宏定义,就让宏定义为空,导致error。

code style出错的原因:

是版本控制软件p4v在设置的时候,没有配置好Connection -> Edit Current Workspace… -> Advanced -> Line ending characters for text files

应该选择Shared: writes UNIX style and reads local style
而我选择的是Local: defaults to the current operating system

这导致VS打开工程的时候,code显示的style可能不对。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值