10.Jetson AGX Orin 编译 Insight Toolkit (ITK) 5.1.1

Jetson AGX Orin 编译 Insight Toolkit (ITK) 5.1.1

1:下载ITK

Insight Toolkit (ITK) 5.1.1

在这里插入图片描述

2:上传到Jetson并解压缩

tar zxvf InsightToolkit-5.1.1.tar.gz

3:编译

mkdir build && cd build
sudo cmake ..
sudo make -j8
sudo make install

如果出现下面的错误(可以看出这是在arm架构编译png驱动对某个预编译宏不兼容造成的,解决办法是在pngpriv.h中添加#define PNG_ARM_NEON_OPT 0,关闭对png_riffle_palette_neon函数的调用):

[100%] Building CXX object Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/itkTestDriver.cxx.o
[100%] Linking CXX executable ../../../../bin/itkTestDriver
../../../../lib/libitkpng-5.1.a(pngrtran.c.o):pngrtran.c:function itk_png_do_read_transformations: error: undefined reference to 'png_do_expand_palette_rgba8_neon'
../../../../lib/libitkpng-5.1.a(pngrtran.c.o):pngrtran.c:function itk_png_do_read_transformations: error: undefined reference to 'png_riffle_palette_neon'
../../../../lib/libitkpng-5.1.a(pngrtran.c.o):pngrtran.c:function itk_png_do_read_transformations: error: undefined reference to 'png_do_expand_palette_rgb8_neon'
../../../../lib/libitkpng-5.1.a(pngrutil.c.o):pngrutil.c:function itk_png_read_filter_row: error: undefined reference to 'png_init_filter_functions_neon'
collect2: error: ld returned 1 exit status
make[2]: *** [Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/build.make:166: bin/itkTestDriver] Error 1
make[1]: *** [CMakeFiles/Makefile2:12345: Modules/Core/TestKernel/src/CMakeFiles/itkTestDriver.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

修改文件 InsightToolkit-5.1.1/Modules/ThirdParty/PNG/src/itkpng/pngpriv.h

添加下面内容:

#define PNG_ARM_NEON_OPT 0   ***// 这行为  添加的代码。***
#ifndef PNG_ARM_NEON_OPT
   /* ARM NEON optimizations are being controlled by the compiler settings,
    * typically the target FPU.  If the FPU has been set to NEON (-mfpu=neon
    * with GCC) then the compiler will define __ARM_NEON__ and we can rely
    * unconditionally on NEON instructions not crashing, otherwise we must
    * disable use of NEON instructions.
    *
    * NOTE: at present these optimizations depend on 'ALIGNED_MEMORY', so they
    * can only be turned on automatically if that is supported too.  If
    * PNG_ARM_NEON_OPT is set in CPPFLAGS (to >0) then arm/arm_init.c will fail
    * to compile with an appropriate #error if ALIGNED_MEMORY has been turned
    * off.
    *
    * Note that gcc-4.9 defines __ARM_NEON instead of the deprecated
    * __ARM_NEON__, so we check both variants.
    *
    * To disable ARM_NEON optimizations entirely, and skip compiling the
    * associated assembler code, pass --enable-arm-neon=no to configure
    * or put -DPNG_ARM_NEON_OPT=0 in CPPFLAGS.
    */
#if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
   defined(PNG_ALIGNED_MEMORY_SUPPORTED)
#define PNG_ARM_NEON_OPT 2
#else
#define PNG_ARM_NEON_OPT 0
#endif
#endif

4:测试

#include "itkImage.h"
#include <iostream>

int main()
{
  typedef itk::Image< unsigned short, 3 > ImageType;

  ImageType::Pointer image = ImageType::New();

  std::cout << "Hello ITK World !" << std::endl;

  return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.10.2)

project(HelloInsight)

# Find ITK.
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})

add_executable(HelloInsight HelloInsight.cpp )

target_link_libraries(HelloInsight ${ITK_LIBRARIES})

mkdir build && cd build
cmake ..
make 
./HelloInsight

在这里插入图片描述

Jetson AGX Orin是一款强大的嵌入式计算平台,可以轻松安装ROS 2以实现机器人及其他自动化系统的开发和运行。以下是使用300字中文回答Jetson AGX Orin安装ROS 2的步骤和注意事项。 首先,确保Jetson AGX Orin已经正常运行,并且您已经完成了基本的设置和配置。 接下来,从ROS 2官方网站(https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/)下载适用于您的Jetson AGX Orin的ROS 2发行版,建议选择最新版本Foxy Fitzroy。下载完成后,将.deb文件保存到您的Jetson AGX Orin的本地存储中。 然后,在Jetson AGX Orin的终端中打开一个新的命令行窗口,以便在系统中进行安装。使用以下命令导航到.deb文件的目录: cd /path/to/deb/file 然后,使用以下命令安装ROS 2: sudo apt install ./ros-foxy-*.deb ROS 2的安装过程可能会花费一些时间,具体取决于您的Jetson AGX Orin的性能和网络连接速度。在安装过程中,请耐心等待,直到安装完成。 安装完成后,您需要设置ROS 2的工作环境。使用以下命令执行此操作: source /opt/ros/foxy/setup.bash 现在,您可以开始使用ROS 2在Jetson AGX Orin上进行开发和运行机器人应用程序了。请查阅ROS 2的文档和教程,以了解更多关于ROS 2在Jetson AGX Orin上的使用方法和功能。 总结一下,安装ROS 2到Jetson AGX Orin的过程包括下载适用于该平台的ROS 2发行版,并使用apt命令进行安装。安装完成后,使用source命令设置ROS 2的工作环境。最后,您就可以开始使用ROS 2在Jetson AGX Orin上进行开发和运行机器人应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值