环境 Ubuntu16.04
0.问题
重新编译open3d遇到问题
error: ‘png_image’ has not been declared
原因分析:因为安装open3d后,卸载了我的ros和pcl,重新安装pcl后
Remove the following packages:
1) libpng16-dev
2) libpng16-devtools
可以看到把我的libpng16卸载了,这应该是导致png_image报错的原因
如果我们我直接安装
sudo apt-get install libpng16-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libhdf5-mpi-dev libhdf5-openmpi-dev linux-headers-4.13.0-36
linux-headers-4.13.0-36-generic linux-image-4.13.0-36-generic
linux-image-extra-4.13.0-36-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libpng16-16 libpng16-devtools
Recommended packages:
libpng16-tools
The following packages will be REMOVED:
libcairo2-dev libfontconfig1-dev libfreetype6-dev libgazebo7-dev libgdal-dev
libgdk-pixbuf2.0-dev libgtk2.0-dev libpango1.0-dev libpcl-dev libpng12-dev
libvtk6-dev libvtk6-qt-dev libxft-dev ros-kinetic-camera-calibration
ros-kinetic-compressed-depth-image-transport
ros-kinetic-compressed-image-transport ros-kinetic-cv-bridge
ros-kinetic-depth-image-proc ros-kinetic-desktop ros-kinetic-desktop-full
ros-kinetic-gazebo-dev ros-kinetic-gazebo-plugins ros-kinetic-gazebo-ros
ros-kinetic-gazebo-ros-pkgs ros-kinetic-image-geometry
ros-kinetic-image-pipeline ros-kinetic-image-proc
ros-kinetic-image-publisher ros-kinetic-image-rotate
ros-kinetic-image-transport-plugins ros-kinetic-image-view
ros-kinetic-opencv3 ros-kinetic-pcl-conversions ros-kinetic-pcl-ros
ros-kinetic-perception ros-kinetic-perception-pcl
ros-kinetic-rqt-common-plugins ros-kinetic-rqt-image-view
ros-kinetic-simulators ros-kinetic-stage ros-kinetic-stage-ros
ros-kinetic-stereo-image-proc ros-kinetic-theora-image-transport
ros-kinetic-vision-opencv ros-kinetic-viz tk-dev tk8.6-dev
The following NEW packages will be installed:
libpng16-16 libpng16-dev libpng16-devtools
0 upgraded, 3 newly installed, 47 to remove and 184 not upgraded.
Need to get 0 B/425 kB of archives.
After this operation, 280 MB disk space will be freed.
可以看到和ros冲突了.
1.解决方案
选择源码安装的方式
下载地址
https://sourceforge.net/projects/libpng/files/libpng16/
需要翻墙,翻不了强又找不到资源的可以私信我.
我下载的版本是1.6.37
cd libpng-1.6.37
mkdir build
cd build
cmake ..
make
sudo make install
之后在编译open3d就没有问题了,结束.
参考
https://blog.csdn.net/l1216766050/article/details/82810994?utm_medium=distribute.pc_relevant.none-task-blog-title-3&spm=1001.2101.3001.4242