> 文章列表 > 【EXata】在 Visual Studio 2010 上编译与调试 EXata

【EXata】在 Visual Studio 2010 上编译与调试 EXata

【EXata】在 Visual Studio 2010 上编译与调试 EXata

一、在 VS2010 中编译 Exata

通过命令行的形式来编译调试 EXata 的方式太过麻烦,一次两次还好,时间长了慢慢就烦了,于是想着有没有什么方法能够简化这些操作,翻看手册,发现是可以在 IDE 中进行编译,于是就有了以下尝试,官方步骤可参考:【EXata】2.2 在Windows上编译EXata.

1、编译步骤实现

具体步骤如下所示

1、在 EXATA_HOME 目录下创建 Makefile 文件:

2、打开 VS2010 从现有代码创建项目

3、输入以下项目信息(项目文件位置、项目名),然后点击下一步:

4、选择使用外部生成系统,然后点击下一步:

5、指定调试配置设置,依次对其进行下列内容填写(这部分内容是固定的,对照着一开始写的Makefile文件):

6、配置完成后,测试是否可以通过 VS2010 来编译 EXata:

编译生成成功:

二、在 VS2010 中调试 EXata

1、调试步骤实现

调试步骤如下所示:

1、选择 Project > Properties

2、在左侧面板中,选择配置属性下的调试:

命令 设为可执行文件所在的路径。

命令参数 设置为要调试的情景配置(.config)文件的名称。

工作目录 设为场景配置文件所在的目录。

3、直接启动调试即可:

2、存在的问题

①、问题1:“无法找到“XXX.exe”的调试信息

如下图所示:

问题1:此时已经处于Debug模式,运行时完全正常,但是一调试就出现对话框,显示出错信息:“无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。”

该问题的常规解决方案是:

但是由于我们这里的项目是直接导入的,在项目属性中不存在上述所说的那些选项,不过倒是不影响运行:

②、问题2:IDE中断点不可用

问题2:断点不可用

比如,此时我们在这个地方打上了断点,但是实际上不会发生任何作用。

关于这个问题,感觉倒是还挺正常的,因为我们本来就是通过 nmake 编译的 EXata,这里的调试其实并不触发编译的操作,只相当于单纯的运行一个场景

三、在 VS2022 中编译 EXata 的探索

探索:按理说编译的话,只要有对应的编译环境即可,那么我们能否使用 VS2022 来编译 EXata呢?

尝试1:在 VS2022 上安装全版本的平台工具集,然后设置成 VS2010 的进行编译

参考资料:vs2022使用全版本平台工具集

尝试一番,结果不可行,原因是因为在 VS2022 打开的 EXata VS2010)项目 配置属性中缺少平台工具集这个配置项,因而无法修改为 VS2010 的工具集:

四、参考资料

[1] 【EXata】2.2 在Windows上编译EXata

[2] 在Windows上编译EXata