首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >企业架构师逆向工程:“意外符号”错误

企业架构师逆向工程:“意外符号”错误
EN

Stack Overflow用户
提问于 2013-07-29 18:38:16
回答 1查看 3.5K关注 0票数 0

我试图使用反向工程生成一个类图,但正在发生以下情况:

在第11行分析C:\Documents和Settings\Meus documentos\EA_Documentos\Modelos\Environment\class\Factory.h时出错。 您可能需要定义语言宏。 在第99行解析C:\Documents和Settings\Meus documentos\EA_Documentos\Modelos\Environment\class\Model.h时出错。意外符号: ISIMModel 您可能需要定义语言宏。

还有更多的这些。

这是CSIMEnvironmentModel.h中对应的代码

代码语言:javascript
复制
class SIMMDLENVv01_EXPORT CSIMEnvironmentModel // line 99
: public ISIMModel
, public ISIMEventSource
, public ISIMScheduledModel
, public ISIMExecut
, public ISIMPublisher
{
public:

    CSIMEnvironmentModel(const std::string &a_modelType);
virtual ~CSIMEnvironmentModel(void);

CSIMEnvFactory.h

代码语言:javascript
复制
class SIMMDLENVv01_EXPORT CSIMEnvFactory // line 11
: public ISIMFactory
{
public:
    CSIMEnvFactory();
    virtual ~CSIMEnvFactory(void);
    std::vector<ISIMModel*> InstanceModel(const std::string &a_modelType, const    std::string &a_conf);
};

这条错误消息的原因是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-29 18:43:36

您的代码包含一个宏定义(SIMMDLENVv01_EXPORT)的用法,它不是EA标准宏定义的一部分(很多宏定义主要涵盖ATL和MFC )。您将需要在“Settings->Language Macros”(正如错误消息中的提示所示)下添加其他的。

注意事项

在声明属于#defined的宏时,请使用语法#defined来接收任意数量的参数。

如果您试图反向工程像Qt之类的框架库,那么您需要设置其中的许多代码,这样您就能够在不出错的情况下反向工程代码。也许您应该想一种不同的策略在模型中引用这些类型和类。

另一种解决方法可能是只对要先导入的所有代码进行预处理,然后从预处理结果中导入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17931668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档