add_compile_definitions错误的把exe文件名加入了,实际上这个配置函数不需要指定可执行文件,所以my_exe被错误定义为宏,所以后面用到my_exe类型的变量、命名空间都会报错。
这种问题很诡异,非常地不合理,有一种可能:构建系统紊乱。 我们经常会使用git在不同分支之间切换,而build目录一般被我们ignore掉,所以很多别的分之的obj文件或者so文件被保存了下来,但是实际上是和我们当前的版本是不一致的。 因为obj文件和代码行号不对应,这就会导致单步调试错误地跳转。
解决方法:清除build目录重新编译。