1. 安装libnetpbm libjpeg libpng
2. image.cc中修改netpbm包含代码,修改
extern "C" { #include "pgm.h" }
extern "C" { #include "netpbm/pgm.h" }
3. getpatches.cc文件添加包含文件
#include "stdlib.h"
4. 解决undefined reference问题
image.cc:57: undefined reference to `pgm_readpgm'
image.cc:70: undefined reference to `pm_freearray'
image.cc:202: undefined reference to `pm_allocarray'
image.cc:214: undefined reference to `pgm_writepgm'
image.cc:216: undefined reference to `pm_freearray'
再次运行下面命令(-lnetpbm需要放到最后位置才行):
g++ -Wall -O3 -DNDEBUG -g -O2 -o recalckeys.exe recalckeys.o image.o keypoint.o -lnetpbm
5. Done