栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

JSBSim应用教程VisualStudio VS2019

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSBSim应用教程VisualStudio VS2019

JSBSim应用教程

如果想要使用JSBSim提供的动力学运动学模型作为项目的一部分,可参考此教程。本文编辑时间:2022/6

1.开发环境准备
  1. 本文开发环境为Visual Studio 2019,其他版本的应用步骤可能略有不同

  2. JSBSim的官方Github仓库为JSBSim-Team/jsbsim: An open source flight dynamics & control software library (github.com),下载master分支压缩包并解压或者使用git工具

    git clone https://github.com/JSBSim-Team/jsbsim.git
    
  3. 进入jsbsim文件夹,打开JSBsim.sln

2.编译项目生成静态库文件
  1. 推荐在Release配置下生成静态库文件,如果你需要在debug配置进行项目开发,流程是一致的,但是部分细节可能会有不同。点击项目->属性,在常规选项栏中,修改配置类型为静态库(.lib),点击应用,确定。

  2. 点击本地Windows调试器开始生成项目。生成完成后,可能会自动跳出弹窗“无法启动程序JSBSim.lib”,点击确定即可。

  3. 这时进入jsbsim文件夹下的Release文件夹,即可看到JSBSim.lib文件,复制到你的工程文件夹内即可使用。

3.第一个测试程序

我们创建一个空项目(新建空白模板解决方案),来介绍下简单的应用流程,并测试确认上一步生成的静态库文件

  1. **将jsbsim文件夹下的aircraft、engine、scripts、systems、src文件夹拷贝至项目文件夹下,并将上一步生成的lib库文件拷贝到项目文件夹下。**src文件夹内为源代码,我们其实只需要其中的所有头文件,可将cpp文件删除,不影响项目(hpp文件不可删除)。其余文件夹为飞机模型等xml文件,如果你已经了解了xml文件的用途及用法,可以只将需要的模型的xml文件放入项目对应文件夹。

  2. 进入解决方案,这里我们先链接库文件。

    • 法1:在项目->属性->链接器->输入->附加依赖项添加如下两项: ws2_32.lib、JSBSim.lib。点击确定、应用、确定。

    • 法2,在代码中添加控制宏,参加后面步骤中的代码。

  3. 我们还需要配置包含目录。在项目->属性->VC++目录->包含目录中添加前文复制过来的src文件夹的路径

  4. 创建一个main.cpp作为主程序,其中代码如下

    #include //包含头文件,该头文件在src文件夹中,已在包含目录中配置。、
    #pragma comment(lib,"JSBSim.lib")//控制宏,代表链接该静态库
    #pragma comment(lib,"ws2_32.lib")//这个库是网络相关的库,JSB使用了该库,如果不链接会出现error lnk2001 __impxxxx: 无法解析的外部符号错误
    //如果在前文使用法1配置了链接器,则此处无需使用控制宏
    
    int main()
    {
      JSBSim::FGFDMExec FDMExec;//实例化
    
      FDMExec.SetEnginePath(SGPath(".\engine"));//设置engine文件路径
      FDMExec.SetAircraftPath(SGPath(".\aircraft"));//设置aircraft文件路径
      FDMExec.SetSystemsPath(SGPath(".\systems"));//设置systems文件路径
        
      FDMExec.LoadScript(SGPath(".\scripts\c1723.xml"));//设置要载入的script文件路径,本文使用经典的c1723作为测试
    
      bool result = true;
    
      while (result) result = FDMExec.Run();//运行
        
      return 0;
    }
    

    上述代码中的路径使用的是相对路径,即按照如上文截图中的文件夹布置。如果你的项目文件夹布置与我不同,请修改路径,勿直接复制代码运行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号