多物理场仿真 Chrono (1.1) 安装与构建Chrono

本文详细指导如何在Windows和MacOS上检查和安装C++编译器(如VisualStudio和Xcode),下载并配置Eigen库和Irrlicht库,以及使用CMAKE管理和编译ChronoSDK项目,包括Git的使用和不同系统下的编译与测试。
摘要由CSDN通过智能技术生成

为方便查阅,此文是原网站文档翻译,如有侵权,请与本人联系。
官网


1)检查、安装c++编译器

推荐编译器:

  • microsoft Visua C++:visual studio 2019或者更新版本。
  • Mac系统的Xcode 包:通过应用商店免费下载,包含clang++编译器。

其他编译器(比如intel C++,PGI)也可以测试,但是不是官方支持和维护的。虽然很有可能通过其他的工具链构建Chrono,但是需要修改CMake脚本。Microsoft Visual C++编译器包含在Visual Studio 包里,但是他不是默认按照的,在启动时确认安装c++工具链。Visual Studio 2017 在最近版本的Eigen中大量使用内联函数存在问题。因为最新版本的Chrono(特别是由于重新实现的ANCF元素),这可能导致非常长的编译时间,甚至挂断。所以我们推荐使用VS2019或者更新的。

2)下载和安装Eigen库

Chrono现在使用Eigen3满足所有的内部线性代数需要。Chrono要求Eigen3.3.0或者更新版本,但是我们强烈推荐使用最新稳定版本,Eigen 3.4.0.
在Mac上应该通过homebrew安装:brew install eigen。自MacOS 12 Monterey和新的Apple Silicon(arm46、M1、M2…)硬件以来,Homebrew安装在/opt/Homebrew中。如果Eigen没有被自动发现,可以使用
find /opt/homebrew -name Eigen 搜索文件夹
实际搜索响应
/opt/homebrew/Cellar/eigen/3.4.0_1/include/eigen3/unsupported/Eigen
/opt/homebrew/Cellar/eigen/3.4.0_1/include/eigen3/Eigen
/opt/homebrew/Cellar/eigen/3.4.0_1/include/eigen3/Eigen/Eigen
头文件路径是 /opt/homebrew/Cellar/eigen/3.4.0_1/include/eigen3.

3)下载Irrlicht 库

Chrono::Irrlicht 是一个可选模块,不是chrono建模必须的模块,但是建议使用这个模块,这样才能使用那些依赖Irrlicht作为实时可视化库的chrono例子。

  • 下载Irrlicht Engine,最新的测试版本是1.8.4
  • 解压到你选定的路径,比如,现在假设解压到c:/workspace/libraries/irrlicht-1.8.4.

一些window用户可能会遇到一些问题,当使用shadow lights,如chrono中的一些例子。
在有些情景,我们推荐要么禁用shadows,要么安装Directx sdk。
Irrlicht 1.8.4 要求june 2010 directx sdk。

发布版本1.8.4表现完美,mac系统安装irrlicht最好的方式是brew install irrlicht。在macos 12上需要设置IRRLICHT_ROOT为/opt/homebrew.

使用1.8.4版本遇到任何问题,请尝试退回1.8.2发布版。
发布版1.8.3不包含预编译64位dll。
发布版1.8.0使用soft shadows会遇到问题。

4)安装CMAKE

Cmake用于管理构建过程。它为您的特定编译器/IDE创建了一个项目/解决方案,允许用户以最小的工作量编译Chrono源代码。
对于Visual Studio用户:请确保将CMake可执行文件放在Path环境变量中(安装程序可以为您执行此操作)。
对于Xcode用户:CMake.app捆绑包还包含命令行工具,您必须设置适当的链接才能从终端使用它。最好通过自制程序安装纯命令行版本(https://brew.sh)。安装家庭酿造包管理器后,在终端中键入:brew-install-cmake

5)安装GIT客户端

在window和MacOs系统上,你可能想下载和安装源代码树。
在MacOs上,你会发现一个应用Bundle在Applications。

6)通过克隆git 库下载项目

在你的电脑上一个文件目录下执行克隆git库下载Chrono SDK,假设你在使用源码树。

  • 在菜单栏点击File,然后在源代码树点击Clone/New按钮
    在这里插入图片描述

  • 在 "Source Path / URL"输入https://github.com/projectchrono/chrono.git

  • 在 "Destination Path"输入一个空的路径,比如c:/workspace/chrono
    在这里插入图片描述

  • 保持Local Folder默认

  • 在Advanced Option下拉选框选择master分支

  • 点击Clone按钮,源码就被下载到你指定的目录

master分支包含多种chrono 发布版本和最稳定的代码。如果你对他们正在开发的和下一官方版本发布之前的最新特性感兴趣,在初始克隆之后的任何时候,可以选择develop分支。

7)运行CMake

开始配置Cmake构建。假设你正在使用图形化界面。

  • 在"Where is the source code" 设置路径到你的Chrono文件,在这个文件里你已经创建了git仓库,在例子里使用的是c:/workspace/chrono
  • 在“where to build the binaries”处设置另一个路径,且必须为空,在这里将创建一个visual C++项目,比如,我们使用c:/workspace/chrono_build.
    在这里插入图片描述
  • 点击**Configure **按钮
  • 设置适当的生成器,和适当的平台,如果有64位处理器,尽可能的配置64位项目。在较旧的CMake中,有一个生成器列表,比如“Visual Studio 15 2017”和“Visual Studio 2015 2017 Win64”(然后选择后者),在最新的CMake里,他们是分开的,一个是生成器,另一个是平台。
    在这里插入图片描述
  • 指定Eigen的安装位置。如果没有自动检测到,你需要手动设置CMake变量EIGEN3_INCLUDE_DIR.比如c:/workspace/libraries/eigen-3.3.7
  • 在CMake用户界面改变设置,有些设置可以自动检测,有些必须改变:
    • 激活推荐可选模块,ENABLE_MODULE_IRRLICHTENABLE_MODULE_POSTPROCESS.其他的模块需要额外的设置和依赖。

    • 点击Configure.

    • 设置IRRLICHT_ROOT变量,必须包含Irrlicht的解压路径。

    • 再次点击Configure

    • IRRLICHT_LIBRARY应该被自动填写,如果没有,win用户选择C:/workspace/libraries/irrlicht-1.8.4/lib/Win64-visualStudio/Irrlicht.lib,然后再点击Configure
      在这里插入图片描述

    • 记住在更改一些设置之后,必须再次点击Configure,甚至多次,直到所有变量都是白色背景。

    • 最后,点击Generate

Visual studio 用户应该保持CMAKE_CONFIGURATION_TYPES不变,应该显示Debug;Release;MinSizeRel;RelWithDebInfo,如果不是, 应该点击File>Delete Cache 并重新配置CMake。
构建配置直接从Visual Studio中选择,对于基于Makefile解决方案,反而应该设置CMAKE_CONFIGURATION_TYPES到不是Debug就是Release 或者MinSizeRel 或是RelWithDebInfo。Makefile不支持多配置类型

Cmake使用 斜杠/ 路径字符,Unix用户已经习惯于这种便利,windows用户应该注意这种反斜杠\转换成斜杠/.

在这一点上,你刚刚创建了一个项目,稍后将用于构建Chrono。您可以关闭CMake。

8)编译项目

对于Visual Studio:

  1. 转到你设定的“where to build the binaries”目录,找到Chrono.sln
  2. 双击Chrono.sln,您的Visual Studio方案将会打开。
  3. 在工具栏,从Solution Configuration下拉菜单选择Release模式
    在这里插入图片描述
  4. 在工具栏,点击Build>Build solution…
    全部的Chrono项目和他的例子都会被编译,在bin/Release子文件件产生很多exe和dll文件。
  5. 重复步骤3和步骤4,但是选择Debug作为配置类型。这将生成带有调试符号的二进制文件:它们将放在bin/Debug子文件夹下。

对于Mac系统/Clang:

  • CMake在“构建二进制文件的位置”中指定的目录中生成makefile的层次结构
  • 构建Chrono库和例子可执行文件,只需从该目录中的命令行调用make
  • 作为可选项,键入make install以在CMake配置期间指定的目录中安装Chrono库、数据文件和演示可执行文件。
  • CMake可以配置为生成Xcode(CMake -G Xcode ….)配置。您通常会在Xcode IDE中使用它。优点是可以调试代码。与在MS Visual Studio中一样,您可以从IDE中选择生成类型。

9)测试例子

转到您设定的“where to build the binaries”文件夹,在这个例子里是C:/workspace/chrono_bulid,然后转到bin/release 或者(window系统)bin/Debug

对于window系统,如果例子使用3D可视化没有开始,这意味着Irrlicht.dll没有发现,你得手动复制Irrlicht从你的irrlicht文件夹/bin/Win64-visualStudio directorychrono_build/bin/Debug 或者chrono_build/bin/Release directory.

最重要的是,不要搞混64位和32位二进制和静态库。比如您必须链接64位Irrlicht静态库,从MacOS 10.15 Catalina开始,不再支持32位。


返回首页目录,交流学习

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值