CATIA给我们提供了一个开发环境,很多的设置均通过Imakefile进行配置,而不是借助VS项目中的属性配置。现如今开源库很丰富,借助其开发,可以快速迭代出一个功能或者产品,本文将提供在CAA开发引入第三方库的设置方法
设置很简单,主要包括两个方面,一个是Lib库文件,一个是头文件,在imakefile.mk后面添加下述代码:
为了帮助读者加深理解和使用,本文引入实例进行阐述,并鉴于POCO库是一个不错的C++开源库,且日志功能在一个程序中也扮演着一个重要的角色,因此,本文基于POCO库中的日志为范例进行性说明。
POCO库的引入
POCO库是基于现代的、标准的ANSI C++编写,使用C++ STL库。模块化设计,极少的外部依赖,易于编译和使用。结合传统的面向对象与现代的C++设计,代码易读,代码风格统一,以及相当全面的测试用例[1][2]。而详细信息,可以参考POCO官方网站。如图 99是POCO库概览,功能覆盖也属全面。
关于POCO库的编译,读者可参考网上资料,对于日志库,只需要编译POCO的Foundation库即可。完成编译后,有如下文件:PocoFoundation.dll、PocoFoundation.lib和POCO头文件,在CATIA工程中调用POCO库Module中的ImakeFile.mk中加上如下代码。
Lib和头文件是程序运行时调用的,Dll是程序运行时进行调用的,在程序运行和发布的时候,需要将dll文件拷贝到winb64或intela \code\bin的文件下。
程序日志实现
在软件开发过程中,为了定位软件运行过程中可能出现的错误,一种常用的做法是在潜在的错误位置,设置防御代码,并且将错误代码执行后的错误信息记录下来,以供后续改进代码提供支持。
建立一个PublicInterface的 CAA Class,建立成全局的类,方便其他模块调用,假定类名为:MantouLogger
根据前节在该类所在的Module中添加Lib库和头文件配置
在MantouLogger.h文件中天下下述代码
在头文件中声明下述5个静态方法。其中有4个日志等级方法。
MantouLogger.cpp实现5个声明的方法
程序调用
运行后查看Log.log文件后,文本记录日志格式如下所示。
参考
[1] https://baike.baidu.com/item/poco/968707?fr=aladdin
[2] https://pocoproject.org
领取专属 10元无门槛券
私享最新 技术干货