文章目录
- 一、QT安装
- 安装前准备
- 1.1 方法一 源码编译安装(实践缺少xcb依赖):
- 1.2 方法二 run文件安装:
- 二、迁移windows下qt应用到linux
- 三、VTK安装
- 3.1 安装ccmake 和 VTK 的依赖项
- 3.2 linux下VTK库下载安装
- 四、QT应用基础上引入VTK依赖
- 五、ITK安装
- 六、QT应用基础上引入VTK依赖后继续引入ITK依赖
- 6.1 编辑.pro文件(二或四基础上)
- 6.2 编译运行
- 七、利用docker打包成镜像
- 八、MobaXterm连接显示Linux图形化界面(解决不支持图形化界面的问题)
- 参考其它:
一、QT安装
安装前准备
sudo apt-get update
sudo apt install cmake
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install libx11-dev libxext-dev libxtst-dev
1.1 方法一 源码编译安装(实践缺少xcb依赖):
qt下载路径
`1、解压安装`
解压 tar -xvf xxx.tar.xz
到当前解压的目录cd qt-everywhere-opensource-src-%VERSION%/qtbase
sudo ./configure
sudo cmake --build . --parallel
sudo cmake --install .
参考
1.2 方法二 run文件安装:
5.12.4.run版本下载
下载完成上传置linux环境直接sudo ./xxx.run进行安装
二、迁移windows下qt应用到linux
1、源码调整
工程里面的目录Debug、GeneratedFiles、Release、Win32、x64和
文件...user、...sln、...vcxproj、......filters删掉,
只要保留.h、.cpp、.qrc(没有这个文件编译出来的Qt项目会显示不了图片)、.ui文件
和Resources目录就可以了
2、生成.pro文件(qmake路径跟俊自己安装的qt路径)
sudo /opt/Qt5.14.1/5.14.1/gcc_64/bin/qmake -project QT+=widgets
项目中如果用到qml或websocket可以根据情况添加依赖如下:
3、生成Makefile文件
sudo /opt/Qt5.14.1/5.14.1/gcc_64/bin/qmake
4、生成shell文件
sudo make
4、执行shell文件
sudo ./xxx.sh
补充重新编译:
make clean
参考文章
三、VTK安装
3.1 安装ccmake 和 VTK 的依赖项
sudo apt-get install cmake-curses-gui
sudo apt-get install freeglut3-dev
3.2 linux下VTK库下载安装
vtk下载地址
选择合适的版本进行下载,解压到VTK文件夹下,在与下载的vtk版本目录同一级下新建文件下名为build。
在build目录下执行命令:
sudo cmake-gui
弹出图形化界面进行安装。
`步骤:选择vtk原路径->选择build安装路径->点击Advanced->点击Configure。`
`编辑修改选项:`
1、BUILD_SHARED_LIBS = ON # 动态库编译,建议打开
2、BUILD_TESTING = OFF # 默认OFF,如果打开的话,编译时会由于下载测试数据所用url过旧而报错,建议OFF
3、CMAKE_BUILD_TYPE = Release # 默认Debug运行会较慢
4、CMAKE_INSTALL_PREFIX = /usr/local # 这里用默认就行,或者改到想要安装的位置
5、VTK_FORBID_DOWNLOADS = ON # 默认OFF,建议打开,否则编译会报错,理由同BUILD_TESTING
注意:BUILD_TESTING的报错问题。build_example这里要是进行vtk学习的话最好勾选上,会有自带的例子可供学习。
完成后再点击Generate。完成后退出图形化界面。
在终端build路径下输入:sudo make -j8
执行完成后输入:sudo make install
配置vtkRendering环境变量
参考错误
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
至次VTK安装完成
参考安装
四、QT应用基础上引入VTK依赖
编辑迁移目录下的.pro文件
末尾添加如下
INCLUDEPATH += $$PWD/../../include/vtk-8.2
DEPENDPATH += $$PWD/../../include/vtk-8.2
LIBS += -L$$PWD/../../lib/ \
-lvtkChartsCore-8.2 \
-lvtkCommonColor-8.2 \
-lvtkCommonComputationalGeometry-8.2 \
-lvtkCommonCore-8.2 \
-lvtkCommonDataModel-8.2 \
-lvtkCommonExecutionModel-8.2 \
-lvtkCommonMath-8.2 \
-lvtkCommonMisc-8.2 \
-lvtkCommonSystem-8.2 \
-lvtkCommonTransforms-8.2 \
-lvtkDICOM-8.2 \
-lvtkDICOMParser-8.2 \
-lvtkDomainsChemistry-8.2 \
-lvtkdoubleconversion-8.2 \
-lvtkexodusII-8.2 \
-lvtkexpat-8.2 \
-lvtkFiltersAMR-8.2 \
-lvtkFiltersCore-8.2 \
-lvtkFiltersExtraction-8.2 \
-lvtkFiltersFlowPaths-8.2 \
-lvtkFiltersGeneral-8.2 \
-lvtkFiltersGeneric-8.2 \
-lvtkFiltersGeometry-8.2 \
-lvtkFiltersHybrid-8.2 \
-lvtkFiltersHyperTree-8.2 \
-lvtkFiltersImaging-8.2 \
-lvtkFiltersModeling-8.2 \
-lvtkFiltersParallel-8.2 \
-lvtkFiltersParallelImaging-8.2 \
-lvtkFiltersPoints-8.2 \
-lvtkFiltersProgrammable-8.2 \
-lvtkFiltersSelection-8.2 \
-lvtkFiltersSMP-8.2 \
-lvtkFiltersSources-8.2 \
-lvtkFiltersStatistics-8.2 \
-lvtkFiltersTexture-8.2 \
-lvtkFiltersTopology-8.2 \
-lvtkFiltersVerdict-8.2 \
-lvtkfreetype-8.2 \
-lvtkGeovisCore-8.2 \
-lvtkgl2ps-8.2 \
-lvtkglew-8.2 \
-lvtkGUISupportQt-8.2 \
-lvtkGUISupportQtSQL-8.2 \
-lvtkhdf5-8.2 \
-lvtkhdf5_hl-8.2 \
-lvtkImagingColor-8.2 \
-lvtkImagingCore-8.2 \
-lvtkImagingFourier-8.2 \
-lvtkImagingGeneral-8.2 \
-lvtkImagingHybrid-8.2 \
-lvtkImagingMath-8.2 \
-lvtkImagingMorphological-8.2 \
-lvtkImagingSources-8.2 \
-lvtkImagingStatistics-8.2 \
-lvtkImagingStencil-8.2 \
-lvtkInfovisCore-8.2 \
-lvtkInfovisLayout-8.2 \
-lvtkInteractionImage-8.2 \
-lvtkInteractionStyle-8.2 \
-lvtkInteractionWidgets-8.2 \
-lvtkIOAMR-8.2 \
-lvtkIOAsynchronous-8.2 \
-lvtkIOCityGML-8.2 \
-lvtkIOCore-8.2 \
-lvtkIOEnSight-8.2 \
-lvtkIOExodus-8.2 \
-lvtkIOExport-8.2 \
-lvtkIOExportGL2PS-8.2 \
-lvtkIOExportPDF-8.2 \
-lvtkIOGeometry-8.2 \
-lvtkIOImage-8.2 \
-lvtkIOImport-8.2 \
-lvtkIOInfovis-8.2 \
-lvtkIOLegacy-8.2 \
-lvtkIOLSDyna-8.2 \
-lvtkIOMINC-8.2 \
-lvtkIOMotionFX-8.2 \
-lvtkIOMovie-8.2 \
-lvtkIONetCDF-8.2 \
-lvtkIOOggTheora-8.2 \
-lvtkIOParallel-8.2 \
-lvtkIOParallelXML-8.2 \
-lvtkIOPLY-8.2 \
-lvtkIOSegY-8.2 \
-lvtkIOSQL-8.2 \
-lvtkIOTecplotTable-8.2 \
-lvtkIOVeraOut-8.2 \
-lvtkIOVideo-8.2 \
-lvtkIOXML-8.2 \
-lvtkIOXMLParser-8.2 \
-lvtkjpeg-8.2 \
-lvtkjsoncpp-8.2 \
-lvtklibharu-8.2 \
-lvtklibproj-8.2 \
-lvtklibxml2-8.2 \
-lvtkloguru-8.2 \
-lvtklz4-8.2 \
-lvtklzma-8.2 \
-lvtkmetaio-8.2 \
-lvtknetcdf-8.2 \
-lvtkogg-8.2 \
-lvtkParallelCore-8.2 \
-lvtkParallelDIY-8.2 \
-lvtkpng-8.2 \
-lvtkpugixml-8.2 \
-lvtkRenderingAnnotation-8.2 \
-lvtkRenderingContext2D-8.2 \
-lvtkRenderingCore-8.2 \
-lvtkRenderingFreeType-8.2 \
-lvtkRenderingGL2PSOpenGL2-8.2 \
-lvtkRenderingImage-8.2 \
-lvtkRenderingLabel-8.2 \
-lvtkRenderingLOD-8.2 \
-lvtkRenderingOpenGL2-8.2 \
-lvtkRenderingQt-8.2 \
-lvtkRenderingSceneGraph-8.2 \
-lvtkRenderingUI-8.2 \
-lvtkRenderingVolume-8.2 \
-lvtkRenderingVolumeOpenGL2-8.2 \
-lvtkRenderingVtkJS-8.2 \
-lvtksqlite-8.2 \
-lvtksys-8.2 \
-lvtkTestingRendering-8.2 \
-lvtktheora-8.2 \
-lvtktiff-8.2 \
-lvtkverdict-8.2 \
-lvtkViewsContext2D-8.2 \
-lvtkViewsCore-8.2 \
-lvtkViewsInfovis-8.2 \
-lvtkViewsQt-8.2 \
-lvtkWrappingTools-8.2 \
-lvtkzlib-8.2 \
参考文章
五、ITK安装
下载版本
下载太慢可搭载vpn提高下载速度
'1、下载完成后在解压目录下:'
cd /usr/local/itk/InsightToolkit-5.2.1
sudo mkdir bin
cd bin
'2、接下来进行编译:'
ccmake ..
按c选择默认配置,配置完成后按g生成makelist。
'3、完成后运行make文件进行编译:'
make -j4
'4、编译完成后进行安装:'
sudo make install
至此完成了ITK的编译安装工作
参考安装
六、QT应用基础上引入VTK依赖后继续引入ITK依赖
6.1 编辑.pro文件(二或四基础上)
'1、添加后保存退出'
INCLUDEPATH += $$PWD/../../../include/ITK-5.2
DEPENDPATH += $$PWD/../../../include/ITK-5.2
INCLUDEPATH += $$PWD/../../../itk/InsightToolkit-5.2.1/Modules/Bridge/VtkGlue/include
DEPENDPATH += $$PWD/../../../itk/InsightToolkit-5.2.1/Modules/Bridge/VtkGlue/include
`补充:具体路径根据缺少的包决定。
寻找包或头文件可以通过 sudo find / -name *xx* 去查找 后再引入`
libs依赖引入如下:
LIBS += -L$$PWD/../../../lib/ \
-litksys-5.2 \
6.2 编译运行
1、生成Makefile文件
sudo /opt/Qt5.14.1/5.14.1/gcc_64/bin/qmake
2、生成shell
sudo make
3、执行
sudo ./xx.sh
七、利用docker打包成镜像
将上述应用打包成镜像(待完成)
八、MobaXterm连接显示Linux图形化界面(解决不支持图形化界面的问题)
window下MobaXterm下载
使用参考1
使用参考2
参考其它:
https://buff.163.com/market/csgo#tab=selling&page_num=1
https://www.jianshu.com/p/acf2fabd94f7
https://blog.csdn.net/shitsnail/article/details/78841919