重新编译EXata需要C/C编译器和一些第三方实用程序(包括CMake)和库
(1)编译EXata6.2的C++编译器为vs2013(vc12)。
(2)第三方工具和库:见https://blog.csdn.net/zhang1806618/article/details/114887026?spm=1001.2014.3001.5501
一、编译EXata
本节介绍如何使用Microsoft Visual Studio 2013编译EXata。
(1)使用CMake生成Visual Studio解决方案
执行以下步骤生成Visual Studio解决方案。
- 单击CMake GUI快捷方式启动CMake GUI (SCALABLE环境)。将源目录设置为EXata源代码目录(Source_DIR),将构建目录设置为要在其中创建可执行文件和构建工件的目录(Build_DIR)。单击“Configure”按钮。注意:这两个目录最好放置在不需要特殊权限的位置,否则configure会报错权限不允许。
- 第一次运行CMake时,会要求您选择一个生成器。选择Visual Studio 12 2013 Win64。单击“Finish”按钮。
- 底部窗格将显示配置过程的进度。配置完成后,顶部窗格将显示配置变量。可以修改显示的任何值。在大多数情况下,默认值应该是可接受的。
- 单击“Generate”按钮。CMake将生成多个文件夹和文件,包括一个Visual Studio解决方案,在build目录中。
(2)配置Microsoft Visual Studio 2013
要将CMake生成的解决方案加载到Visual Studio中并设置构建,请执行以下步骤:
- 打开Microsoft Visual Studio 2013。
- 选择File > Open Project
- 导航到Build目录并打开Microsoft Visual Studio解决方案文件exata.sln。
- 从工具栏中的选择框中,选择Release或Debug,这取决于您希望构建的配置。
(3)用Microsoft Visual Studio 2013编译
一旦配置了Microsoft Visual Studio 2013 ,即可按以下方式使用:
- 选择Build>Build解决方案来构建EXata。这将在Build_DIR/bin目录中创建EXata可执行文件。可执行文件称为exata.exe。
- 选择Build>Rebuild解决方案来清理项目文件并重新生成EXATA。
- 选择Build>Clean解决方案来清理对象文件。
二、在EXata GUI中使用编译生成的文件
如果已经重新编译了EXata,则可以通过以下方式之一使用自定义生成的EXata可执行文件和EXata GUI。
方法1:
- 将libexata_scalable_FNP.dll和exata.exe从build_dir/bin复制到EXata安装的bin文件夹中(install_dir/bin)。
- 如果对GUI设置文件做了任何更改,则还必须将这些文件复制到install_DIR/gui中的适当文件夹中。
方法2:
- 如果您使用的是客户端服务器许可证,那么将客户机许可证文件(scalable.lic)从install_DIR/license_dir复制到Build_DIR/License_dir。
- 使用自定义的EXata可执行文件和EXata GUI,在install_DIR/gui/lib/windows-x64目录中创建一个文件paths.txt。此文件应包含构建目录、源代码文件夹和EXata安装的位置。
- 如果您对GUI设置文件做了任何更改,则还必须将这些文件复制到install_DIR/gui中的适当文件夹中。
paths.txt示例:如果EXata安装在C:/Program Files/Scalable/exata/6.2上,源代码解压在文件夹C:/User/user-name/source/exata-6.2中,则构建目录为C: /user/username/source/EXata-6.2-Build,那么文件C:/Program Files/Scalable/exata/6.2/gui/lib/windows-x64/paths.txt应该是:
C:/Users/user-name/sources/exata-6.2-build
C:/Users/user-name/sources/exata-6.2
C:/Program Files/Scalable/exata/6.2
三、激活和停用插件
插件是EXata的组件,它提供了增强的特性和功能。其中一些包括在EXata发行版中,而另一些则是单独发行的。插件应包含附加源代码、预编译库文件和第三方实用程序。插件可以独立激活或停用。
EXata插件可分为以下几类:
- 库:与EXata一起出售的协议(模型)库
- 接口:需要第三方软件的外部接口
- 自定义插件:特殊用途插件模块和用户开发的插件
- 贡献模型:Scalable网络技术客户开发和提供的供发行的模型
(1)用EXata预编译的模型库
安装中包括的预编译可执行文件已经包含下列默认模型库和插件模型库编译,这些库的场景和文档包含在EXata安装中,源代码包含在EXata源代码存档中。
- 默认模型库:开发者模型库(包括STK接口)、多媒体与企业模型库、网络管理模型库、无线模型库。
- 插件模型库:高级无线模型库、移动模型库、网络模型库、联合接口库、LTE模型库、传感器网络模型库、UMTS模型库、水下通信网络模型库、城市传播模型库。
注意:如果您已安装了联合接口库并希望重新编译EXata,则还必须遵循EXata联合接口库文档中的编译指令。
部分模型库和组件的场景和文档包含在EXata安装中,源代码包括在EXata源代码存档中。但是,安装中包含的预编译可执行文件不包含TIREM模型接口库,该库需要第三方软件。要使用这些代码,必须安装附加软件、解压缩EXata源代码并重新编译EXata。有关安装附加软件的详细信息,请参阅模型库文档。没有包含在EXata发行版中的任何模型库或插件的源代码都需要单独提取,EXata需要重新编译才能使用库或插件。下载模型库或插件的说明和任何附加要求,请参阅库或插件文档。
(2)在Windows上激活和停用加载项
提取新模型库或插件的源代码后,重新运行CMake配置过程并重新编译EXata应该会自动检测和执行修改附加源代码。如果新的插件需要额外的软件,并且该软件没有安装在适当的位置,那么CMake将不会激活该插件。
注意:您对CMake变量所做的任何更改都保存在EXata Build目录(Build_DIR)中名为CMakeCache.txt的文件中。您不需要在激活库或插件时重新执行这些更改。
若要在Windows系统上手动激活或禁用EXata插件,请执行以下步骤:
- 启动CMake GUI。设置好源目录和构建目录。
- 顶部窗格列出要包含或排除在生成中的各种组件。控制模型库和加载项包容性的配置变量都有WITH_开头,选中(取消)希望包含(排除)的库或插件边上的框。例如,如果希望禁用编译LTE模型库,取消选中WITH_LTE旁边的框。
- 对CMake配置变量进行任何更改后,单击Configure按钮。
- 配置完成后,单击Generate按钮。
- 重新编译EXata。如果使用Visual Studio构建EXata,请使用Build>Rebuild解决方案进行完全重建。
(3)高级编译选项
Makefiles或Visual Studio解决方案是基于源树的许多子目录中名为CMakeLists.txt的文件生成的,SOURCE_DIR/cmake子目录和其他子目录中有几个*.cmake支持文件。这些文件在任何可能的情况下都是独立于平台的,它们被组织起来,以便用户在修改EXata源代码之前很少需要修改它们。相反,用户可以使用CMake GUI(在Windows上)或CMake GUI(在Linux上)浏览可用的CMake变量。
例如,如果希望在Windows上启用LTE调试选项,请执行以下步骤(Linux的步骤类似):
- 启动CMake GUI。设置好源目录和构建目录。
- 选中标有“高级”的框。
- 查找以LTE_LOGING开头的条目。
- 检查旁边的框 LTE_LOGING和LTE_LOGING_VALIDATION。
- 单击“Configure”按钮。
- 配置完成后,单击"Generate"按钮。
这将导致-DLTE_LIB_LOG和-DLTE_Lib_VIVEATION_LOG预处理器标志传递给编译器。