首先,我是C ++和dlib的新手,但我已经成功构建了示例并开始处理我自己的项目。事情进展顺利,直到我试图保存jpeg。尝试使用dlib::save_jpeg
编译代码会引发链接器错误,我无法找到解决方案。我试图在#define DLIB_JPEG_SUPPORT
的上方和下方添加#include
,但没有运气。我正在使用XCode并在编译示例时使用cmake -G "Xcode" ..
。相关代码如下。由于我在Mac上,我为X11(对于dlib gui),OpenCV和DLIB添加了头和库搜索路径。我有libjpeg.dylib并在#define DLIB_JPEG_SUPPORT
中使用和不包含main.cpp
的项目将其链接到我的项目。我需要指定一些其他构建设置吗?预先感谢您的帮助。
最后,我看到了有关dlib和libjpeg问题的其他问题和页面,但还没有运气。是的,我有source.cpp包含在项目中。
// the standard stuff
#include <string>
#include <iostream>
#include <unistd.h>
// opencv mat object
#include <opencv2/opencv.hpp>
// dlib>
#include <dlib/opencv.h>
#include <dlib/image_io.h>
#include <dlib/gui_widgets.h>
#include <dlib/image_transforms.h>
int main(int argc, const char * argv[]) {
// retrieving images from a TCP connection
// decode data stream
img = cv::imdecode(rawImage, CV_LOAD_IMAGE_COLOR);
// perform image processing
dlib::cv_image<dlib::bgr_pixel> d_image(img);
// finally save the result to jpg
std::string fname = argv[1] + std::to_string(image_id) + ".jpg";
dlib::save_jpeg(d_image, fname); // <- line that won't compile
return 0;
}