目录

第一步:新建一个dlib项目

第二步:运行一个案例hello world

第四步:main写完整

第五步:编译运行

第六步:其他问题

第七步:更多问题有待补充


第一步:新建一个dlib项目

第二步:运行一个案例hello world

第三步:配置CMakeList

cmake_minimum_required(VERSION 2.8)
project(cpp_eval)set(CMAKE_CXX_STANDARD 11)add_executable(cpp_eval main.cpp)set(pathToDlib /media/luckynote/Tool/face-recognition/dlib-19.15.99/)include(${pathToDlib}/dlib/cmake)target_link_libraries(cpp_eval dlib::dlib)

第四步:main写完整

说明:这里笔者只导入dlib的头文件进行编译,如果不报错误,则说明dlib就可以正常进行编译运行了。

#include <iostream>
#include <dlib/image_processing.h>
using namespace dlib;
int main()
{ std::cout << "Hello, World!" << std::endl; return 0;
}

第五步:编译运行

第六步:其他问题

若CMakeList配置有问题,如忘记 include(${pathToDlib}/dlib/cmake) 和 target_link_libraries(cpp_eval dlib::dlib) ,则会报出如下错误。

CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘__static_initialization_and_destruction_0(int, int)’中:
/usr/local/include/dlib/test_for_odr_violations.h:24:对‘USER_ERROR__inconsistent_build_configuration__see_dlib_faq_1_’未定义的引用
/usr/local/include/dlib/test_for_odr_violations.h:51:对‘DLIB_VERSION_MISMATCH_CHECK__EXPECTED_VERSION_19_15_99’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::lapack::binding::gesdd(char, int, int, double*, int, double*, double*, int, double*, int, double*, int, int*)’中:
/usr/local/include/dlib/matrix/lapack/gesdd.h:38:对‘dgesdd_’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::lapack::binding::gesvd(char, char, int, int, double*, int, double*, double*, int, double*, int, double*, int)’中:
/usr/local/include/dlib/matrix/lapack/gesvd.h:38:对‘dgesvd_’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::blas_bindings::cblas_gemm(dlib::blas_bindings::CBLAS_ORDER, dlib::blas_bindings::CBLAS_TRANSPOSE, dlib::blas_bindings::CBLAS_TRANSPOSE, int, int, int, double, double const*, int, double const*, int, double, double*, int)’中:
/usr/local/include/dlib/matrix/matrix_blas_bindings.h:219:对‘cblas_dgemm’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::locally_change_current_dir::locally_change_current_dir(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’中:
/usr/local/include/dlib/misc_api/misc_api_shared.h:22:对‘dlib::get_current_dir[abi:cxx11]()’未定义的引用
/usr/local/include/dlib/misc_api/misc_api_shared.h:23:对‘dlib::set_current_dir(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::locally_change_current_dir::revert()’中:
/usr/local/include/dlib/misc_api/misc_api_shared.h:42:对‘dlib::set_current_dir(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::file::file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’中:
/usr/local/include/dlib/dir_nav/dir_nav_kernel_2.h:104:对‘dlib::file::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘std::vector<std::vector<dlib::rectangle, std::allocator<dlib::rectangle> >, std::allocator<std::vector<dlib::rectangle, std::allocator<dlib::rectangle> > > > dlib::load_image_dataset<dlib::array<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >, dlib::memory_manager_stateless_kernel_1<char> > >(dlib::array<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >, dlib::memory_manager_stateless_kernel_1<char> >&, std::vector<std::vector<dlib::full_object_detection, std::allocator<dlib::full_object_detection> >, std::allocator<std::vector<dlib::full_object_detection, std::allocator<dlib::full_object_detection> > > >&, dlib::image_dataset_file const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)’中:
/usr/local/include/dlib/data_io/load_image_dataset.h:354:对‘dlib::image_dataset_metadata::load_image_dataset_metadata(dlib::image_dataset_metadata::dataset&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
/usr/local/include/dlib/data_io/load_image_dataset.h:359:对‘dlib::get_parent_directory(dlib::file const&)’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘void dlib::load_png<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> > >(dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’中:
/usr/local/include/dlib/image_loader/png_loader.h:211:对‘dlib::png_loader::png_loader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:211:对‘dlib::png_loader::~png_loader()’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:211:对‘dlib::png_loader::~png_loader()’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘void dlib::load_jpeg<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> > >(dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’中:
/usr/local/include/dlib/image_loader/jpeg_loader.h:96:对‘dlib::jpeg_loader::jpeg_loader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘void dlib::load_dng<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> > >(dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >&, std::istream&)’中:
/usr/local/include/dlib/image_loader/image_loader.h:580:对‘dlib::entropy_decoder_kernel_2::entropy_decoder_kernel_2()’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:581:对‘dlib::entropy_decoder_kernel_2::set_stream(std::istream&)’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:580:对‘dlib::entropy_decoder_kernel_2::~entropy_decoder_kernel_2()’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:766:对‘dlib::entropy_decoder_kernel_2::entropy_decoder_kernel_2()’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:767:对‘dlib::entropy_decoder_kernel_2::set_stream(std::istream&)’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:766:对‘dlib::entropy_decoder_kernel_2::~entropy_decoder_kernel_2()’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:580:对‘dlib::entropy_decoder_kernel_2::~entropy_decoder_kernel_2()’未定义的引用
/usr/local/include/dlib/image_loader/image_loader.h:766:对‘dlib::entropy_decoder_kernel_2::~entropy_decoder_kernel_2()’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘void dlib::png_loader::get_image<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> > >(dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >&) const’中:
/usr/local/include/dlib/image_loader/png_loader.h:52:对‘dlib::png_loader::is_gray() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:56:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:64:对‘dlib::png_loader::is_gray() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:68:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:76:对‘dlib::png_loader::is_graya() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:80:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:99:对‘dlib::png_loader::is_graya() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:103:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:122:对‘dlib::png_loader::is_rgb() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:126:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:137:对‘dlib::png_loader::is_rgb() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:141:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:152:对‘dlib::png_loader::is_rgba() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:159:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:171:对‘dlib::png_loader::is_rgba() const’未定义的引用
/usr/local/include/dlib/image_loader/png_loader.h:178:对‘dlib::png_loader::get_row(unsigned int) const’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘void dlib::jpeg_loader::get_image<dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> > >(dlib::array2d<unsigned char, dlib::memory_manager_stateless_kernel_1<char> >&) const’中:
/usr/local/include/dlib/image_loader/jpeg_loader.h:48:对‘dlib::jpeg_loader::is_gray() const’未定义的引用
/usr/local/include/dlib/image_loader/jpeg_loader.h:53:对‘dlib::jpeg_loader::is_rgba() const’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::entropy_decoder_model_kernel_5<256ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&)’中:
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h:422:对‘dlib::entropy_decoder_kernel_2::get_target(unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h:456:对‘dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h:503:对‘dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h:551:对‘dlib::entropy_decoder_kernel_2::get_target(unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h:553:对‘dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int)’未定义的引用
CMakeFiles/cpp_eval.dir/main.cpp.o:在函数‘dlib::entropy_decoder_model_kernel_4<256ul, dlib::entropy_decoder_kernel_2, 200000ul, 4ul>::decode(unsigned long&)’中:
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h:348:对‘dlib::entropy_decoder_kernel_2::get_target(unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h:376:对‘dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h:422:对‘dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h:469:对‘dlib::entropy_decoder_kernel_2::get_target(unsigned int)’未定义的引用
/usr/local/include/dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h:471:对‘dlib::entropy_decoder_kernel_2::decode(unsigned int, unsigned int)’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/cpp_eval.dir/build.make:83: recipe for target 'cpp_eval' failed
make[3]: *** [cpp_eval] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/cpp_eval.dir/all' failed
make[2]: *** [CMakeFiles/cpp_eval.dir/all] Error 2
CMakeFiles/Makefile2:84: recipe for target 'CMakeFiles/cpp_eval.dir/rule' failed
make[1]: *** [CMakeFiles/cpp_eval.dir/rule] Error 2
Makefile:118: recipe for target 'cpp_eval' failed
make: *** [cpp_eval] Error 2

第七步:更多问题有待补充

【Clion-Ubuntu-dlib】运行一个dlib案例(一)(如何在clion编译器中配置CMakeLists)相关推荐

  1. C++中运行一个程序的内存分配情况及qt中的内存管理机制

    一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一 ...

  2. 解锁一个新技能,如何在Python代码中使用表情包...

    通常我们在使用聊天工具聊天时看见的基础表情包是这样的- [阅读全文] 而在编码过程中,基础表情图是可以使用字符串来识别的.正好python中提供了这个表情包字符串的识别框架Emoji,通过这样的方式我 ...

  3. exec导入 php,PHP exec运行一个文件

    我正在尝试最后3个小时告诉 PHP运行一个简单的文件.我在本地主机中使用wamp服务器用于Windows(Windows 8) 我尝试过使用exec(): echo exec('whoami'); 我 ...

  4. DeepDream、反向运行一个卷积神经网络在 DeepDream和卷积神经网络的可视化 中的应用

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 反向运行一个卷积神经网络在 卷积神经网络的可视化 中的应用 D ...

  5. orange's系统可以装mysql 吗?_bochs 2.4.2 ubuntu 安装运行问题《orange#39;s 一个操作系统的...

    用源码安装完后会遇到的问题: <1> 运行可能碰到如下问题: Event type: PANIC Device: [ ] Message: dlopen failed for module ...

  6. dlib linux 编译使用,ubuntu/ARM编译使用Dlib、OpenCV

    参考文章: ubuntu安装Dlib(C++与Python) https://blog.csdn.net/sinat_38354963/article/details/90517321 ubuntu编 ...

  7. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  8. linux 不能运行程序代码,linux-无法在Ubuntu上运行我自己的OpenGL 3程序

    我正在尝试OpenGL 2.x和3.x教程.程序进行编译和链接,然后在看似无害的行上进行段错误处理,例如 glGenBuffers (1, &m_buffer); 我的main()以glewI ...

  9. 在Ubuntu上编写一个开机自启动的Python脚本

    编写一个shell脚本文件,例如python_auto.sh,文件内容: 2.编写start.py文件,里面执行你需要服务器开启执行的操作 3.在 /etc/profile  这个文件中,添加shel ...

最新文章

  1. json_decode的结果是null
  2. [转]redis的三种启动方式
  3. Node.js 连接数据库
  4. php算法求出兔子数列,PHP算法:斐波那契数列的N种算法
  5. 使用JWT的Cloud Native应用程序
  6. 视频光端机在安防监控工程中的常见技术问题
  7. 软件工程---08.软件测试
  8. JAVA基础--JAVA语言组成01
  9. 字节的按位逆序 Reverse Bits
  10. 国税计算机专业面试题,2018年国家公务员考试:国税系统面试题
  11. 线性规划第一阶段入基变量和出基变量选择的细节讨论
  12. 非IT公司信息化团队建设总结——1.取舍
  13. scrapy 爬取淘宝商品评论信息
  14. 数量周期 复杂现象背后的推动力,可能是极其简单的原理。科学的目标之一就是发现纷 繁复杂的自然现象背后的简单法则。爱因斯坦的相对论是这方面的典范例证。
  15. 【分布式任务调度】(三)XXL-JOB调度中心对执行器的上下线感知实现原理
  16. time_to_sec函数的使用
  17. Ubuntu更新卡在 flashplugin-installer
  18. 南京长江隧道发生连环追尾事故 没有人员伤亡-南京-隧道-追尾
  19. 局域网理论上的小常识(组网必备)
  20. 微信小程序app.js调用wx.login

热门文章

  1. 设计模式的征途—3.工厂方法(Factory Method)模式
  2. 绘制二次三次曲线多次曲线
  3. 中国首款64位商用智能芯片 具备强大的计算能力
  4. spring源码分析,聊聊PropertyPlaceholderConfigurer
  5. Android QQ登录 程序奔溃的问题
  6. 构建负载均衡服务器之一 负载均衡与集群详解
  7. Android view变形,android仿变形金刚效果实现MatchView
  8. tar 解压zip_Keka for mac(压缩解压工具)
  9. 大班如果我有机器人教案_幼儿园大班教案《小猴投彩球》
  10. html图片离边框有距离,CSS边框:距离对象边缘?