IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> itk在mac中配置及使用vscode示例 -> 正文阅读

[开发工具]itk在mac中配置及使用vscode示例

1. mac中使用vscode配置itk

前提条件,已经配置好了C++环境,如果没有配置后,可以参考另一篇博客:mac下vscode配置c++环境

1.1 下载安装配置CMake

1.1.1 下载

下载链接:https://cmake.org/download/

我直接下载了3.22.3
在这里插入图片描述

1.1.2 安装

直接下载dmg文件,双击安装,主要是保证把CMake拖到APP目录中去。打开就是一个界面:
在这里插入图片描述
这只能表明安装好了,但是去终端输入cmake --version,提示没有这个命令,所以还需要手动吧cmake加入到系统目录。

1.1.3 配置路径

根据:https://cmake.org/install/

直接在打开的cmake界面中,找到菜单栏->Tools->How to install For Command Line Use,截图如下:
在这里插入图片描述
如果是zsh的shell,则需要:

vim ~/.zshrc 
# 加入这句话
export PATH="/Applications/CMake.app/Contents/bin":"$PATH"

# 使修改生效
source ~/.zshrc 

# 验证是否生效
~ ? cmake --version                          
cmake version 3.22.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).

1.2 配置编译ITK

这里演示使用CMake界面运行的效果。按照最简单的方式去配置,没有什么高级配置

第一步,选择源代码目录和输出目录
在这里插入图片描述
最好保证是两个不同的目录

第二步,开始确认configure
在这里插入图片描述
别的不用点,点击Configure,会让你选择编译器,就选默认的本地编译器就可以。然后就会弹出很多文字,类似下面这个。
在这里插入图片描述
最后提示Configuring done,没有报错,就说明成功了。

  • 但是此时还是有很多是报红的配置(红色也就是高亮),之前说过,需要一直Configure直到没有新的配置出现,即高亮为止。
  • 因此再次按下Configure按键,此时就会得到类似下面的界面
    在这里插入图片描述
  • 没有高亮的配置项后,就可以开始编译了

第三步,开始生成配置文件
点击Generate按钮,就会开始生成,最后提示Generating done
在这里插入图片描述

第四步,开始编译
在命令行中,切换到二进制目录(即输出的目录,例如我上面是ITK-build),然后运行make即可。

会显示类似下面的输出,我从4:17编译到4:35,大约18分钟
在这里插入图片描述
编译成功,最后会显示
在这里插入图片描述

1.3 第一个ITK例子

1.3.1 cxx文件和CMakeLists.txt文件内容

文件结构:

|--project
	|--HelloWorld
		|--CMakeLists.txt
		|--HelloWorld.cxx
	|--helloworld_build #存放配置编译的内容(和ITK的编译很像)

可以直接去ITK的下载文件夹中找到InsightToolkit-5.2.1/Examples/Installation,其中就有CMakeLists.txtHelloWorld.cxx这两个文件

或者也可以复制以下内容,自己新建文件

HelloWorld.cxx文件内容:

#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 2.8)

project(HelloWorld)

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

add_executable(HelloWorld HelloWorld.cxx )

target_link_libraries(HelloInsight ${ITK_LIBRARIES})

1.3.2 配置、编译、运行

还是和以前一样,选择源文件和编译目标文件夹。

注意:由于在ITK编译的时候没有选择CMAKE_PREFIX_PATH,因此ITK_DIR这个参数默认值是Not Found,需要自己手动填上之前ITK编译的结果目录

然后先点击Configure,显示Configuring done;再点击Generate,显示Generating done。如下
在这里插入图片描述
此时,已经生成好了,可以看到在helloworld_build目录中,有:

.
├── HelloWorld
│   ├── CMakeLists.txt
│   └── HelloWorld.cxx
└── helloworld_build
    ├── CMakeCache.txt
    ├── CMakeFiles
    ├── HelloWorld
    ├── ITKFactoryRegistration
    ├── Makefile
    └── cmake_install.cmake

切换到helloworld_build目录中,运行./HelloWorld,就可以看到如下结果啦。
在这里插入图片描述

不要纠结于VScode的CMake插件等,不需要使用那些工具。

参考:


2. mac下报错

2.1 Could not find a package configuration file provided by “ITKInternalEigen3”

找不到文件,完整错误信息如下:

CMake Warning at CMake/itkExternal_Eigen3.cmake:59 (find_package):
By not providing "FindITKInternalEigen3.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"ITKInternalEigen3", but CMake did not find one.

Could not find a package configuration file provided by "ITKInternalEigen3"
with any of the following names:

    ITKInternalEigen3Config.cmake
    itkinternaleigen3-config.cmake

Add the installation prefix of "ITKInternalEigen3" to CMAKE_PREFIX_PATH or
set "ITKInternalEigen3_DIR" to a directory containing one of the above
files.  If "ITKInternalEigen3" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:534 (include)


CMake Error at CMake/itkExternal_Eigen3.cmake:61 (message):
  ITKInternalEigen3 configuration faileed

  REPORT:  

  CMake Error: The source directory
  "/Users/huangshan/Documents/microport/InsightToolkit-5.2.1/Modules/ThirdParty/Eigen3/src/itkeigen"
  does not exist.

  Specify --help for usage, or press the help button on the CMake GUI.

Call Stack (most recent call first):
  CMakeLists.txt:534 (include)

2.1.? 很low的错误原因(解决)

报错信息中有一句(主要是最后的REPORT信息):
CMake Error: The source directory "/Users/huangshan/Documents/microport/InsightToolkit-5.2.1/Modules/ThirdParty/Eigen3/src/itkeigen" does not exist.

查看自己的本地文件夹,发现没有Modules这个文件夹,去github上去看,点击这里,github上有Modules这个文件夹。

  • 重新解压下载的安装包
  • 发现了Modules文件夹,解决

网上也有这样的问题,但是解决方案似乎都比较复杂??有时候还是要靠自己。

例如:Github issue:ITK 5.1.0 : Can’t build because of ITKInternalEigen3 #1888


2.1.X 无效解决

大概猜测了一下,上述信息提到
this project has asked CMake to find a package configuration file provided by "ITKInternalEigen3", but CMake did not find one.

也就是说,有可能在命令行调用了cmake,但是我上面只配置了zsh,而没有配置bash,可能是命令行调用的时候,没有找到cmake。

在mac中,不是vim ~/.bashrc,而是vim ~/.bash_profile
在这里插入图片描述
找到用户的home目录,command+shift+。这三个键一起按,就是显示或者关闭显示 隐藏文件夹,就可以看到.bash_profile文件了

vim ~/.bash_profile
# 加入这句话
export PATH="/Applications/CMake.app/Contents/bin":"$PATH"

# 使修改生效
source ~/.bash_profile

cmake --version #就会有正确输出了

参考:mac安装了cmake: command not found
但是没有解决,同时我发现,shell的类型是可以设置的,而且默认使用的就是zsh
在这里插入图片描述


参考:

5. 其他文档

5.1 ITK

参考:

5.2 C++

C++ Programming Language
在这里插入图片描述

Microsoft C++, C, and Assembler documentation
在这里插入图片描述

C++ language documentation
在这里插入图片描述

根据where is the official c++ documentation [closed],C++的官方文档其实是: ISOCPP

在这里插入图片描述

4.3 cmake

参考:

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:17:48  更:2022-04-01 00:18:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:29:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码