“配置不规范,调试两行泪。”
——同事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可能不对。