1、BOOST1.82编译:
下载地址:
--link=static|shared 指定编译的出来的库是哪种类型的库:
b2 --link=static
address-model=64,生成64位的库;
toolset=msvc-14.3,指明使用vs2022的编译工具;
stage-dir=“D:\boost_1_74_0\vc14”,生成的库会位于该目录;
build-type=complete,指所boost的所有子项都编译(默认选minimal);
编译指令:
b2 stage --toolset=msvc-14.3 --without-python --without-test --without-wave --without-graph --without-serialization --stagedir="d:\3drpart\boost_1_82\v64"
--build-type=complete link=static runtime-link=static threading=multi debug release
address-model=64
编译加打包:
.\b2 --toolset=msvc-14.2
link=static runtime-link=static
address-model=64 threading=multi debug release install --prefix=D:\3drpart\boost1.82
2、
VTK9.2.6的编译
下载地址:
如果需要编译为
静态链接库
,在
BUILD
下取消勾选
BUILD_SHARED_LIBS
(如编译为静态链接库,使用时可能会遇到lib文件循环依赖问题)。
如果需要编译为Release,在
CMAKE
下修改/添加
CMAKE_BUILD_TYPE
为
Release
。
如果需要在Debug模式下编译生成的库文件带
d
后缀,点击
Add Entry
,手动添加后缀项,
Name
为
CMAKE_DEBUG_POSTFIX
,
Type
为
STRING
,
Value
为
d
。
VTK需要用VS2019编译,不然无法编译通过。
INSTALL生成的include文件夹,替换
D:\Program Files\PCL 1.13.1\3rdParty\VTK下的
include文件夹,应该是版本不一样所致。
3、FLANN1.9.2编译
下载地址:
FLANN自带静态库,不用编译。
4、QHULL2020.2编译
下载地址:
CMAKE后,要用VS2022打开qhull-64.sln编译,主要是要和PCL的编译环境一致,不然会发生冲突。
QHULL自带的静态库,可能就是因为编译版本不同,导致无法使用。
加入VS2022的附加依赖库时,要注意顺序,qhullstatic_r.lib放前面,不然会有重定义的问题报错。
qhullstatic_r.lib
qhullstatic.lib
5、PCL编译
下载地址:
需要先安装
pcl-1.13.1-pdb-msvc2022-win64.zip解压以后的PDB文件拷贝到D:\Program Files\PCL 1.13.1\bin目录下。
CMAKE的配置比较麻烦,会碰到很多问题,主要是寻找几个第三方库的路径,会找不到,需要手动配置,看下面具体说明。
PCL_SHARED_LIBS
: 启用共享库编译的选项,默认启用。如果要编译静态库,取消选项。
Boost_INCLUDE_DIR
D:\Program Files\PCL 1.13.1\3rdParty\Boost\include\boost-1_82
BOOST_ROOT D:\Program Files\PCL 1.13.1\3rdParty\Boost
BOOST_LIBRARYDIR D:\Program Files\PCL 1.13.1\3rdParty\Boost\lib
EIGEN_ROOT
D:\Program Files\PCL 1.13.1\3rdParty\Eigen\eigen3
FLANN_INCLUDE_DIR D:/Program Files/
PCL 1.13.1/3rdParty/FLANN/include
FLANN_LIBRARY D:/Program Files/
PCL 1.13.1/3rdParty/FLANN/lib/flann_cpp_s.lib
FLANN_LIBRARY_DEBUG D:/Program Files/
PCL 1.13.1/3rdParty/FLANN/lib/flann_cpp_s-gd.lib
VTK_DIR D:/Program Files/PCL 1.13.1/3rdParty/VTK/lib/cmake/vtk-9.2
QHULL_INCLUDE_DIR 可缺省
QHULL_LIBRARY D:/Program Files/
PCL 1.13.1/3rdParty/Qhull/lib/qhullstatic.lib
QHULL_LIBRARY_DEBUG D:/Program Files/
PCL 1.13.1/3rdParty/Qhull/lib/qhullstatic_d.lib
QHULL_DIR D:/Program Files/PCL 1.13.1/3rdParty/Qhull/lib/cmake/Qhull
除了在附加依赖项中加入PCL和第三方的lib文件,还要加入用到的Windows库文件,才能编译通过。