【enterprise architect 13】源码工程导入类图,报错"解析xxx.h的yy行出错.遇到未知符号:{"
正常情况下,只有自定义的宏无法识别,添加宏即可。
我碰到的是不识别冒号(:)、括号( { ) 、保留字(class)这样最基本的符号,这都不能识别感觉不可思议。
首先怀疑是文件编码有问题,试图设置导入文件的文件编码,修改方法:
【配置】->【选项】->【源代码工程】,设置【源代码工程使用字符集】为源码文件对应的编码。我因为使用visual studio,默认编码是gb2312, 设置为【20936 (简体中文 GB2312)】, 但是问题没有解决。
几番折腾,终于发现问题:
//A::B这种命名空间的写法会导致EA无法识别它包含的类
namespace A::B {
class balabala{
};
}
// 换成下面这种写法就没问题了-_-||,坑爹
namespace A {
namespace B {
class balabala{
};
}
}