-
freetype2
简介:FreeType 2 为访问字体文件提供了一套统一的、独立于字体文件类型的、简单而易用的API。
下载:https://sourceforge.net/projects/freetype/files/freetype2/
编译:https://blog.csdn.net/longji/article/details/54239634#commentBox
偷懒:https://blog.csdn.net/zmdsjtu/article/details/53133223(一键安装教程,无需编译,每个程序中都要装一次,一般不建议)
使用:https://blog.csdn.net/lovelyloulou/article/details/6870441
用途:我用来制作中文数据集中将中文写入图片。
实践:编译主要是为了得到lib文件,include文件在源码包里面原本就有的。我在win7 64 vs2017中成功完成debug和release版的编译和使用。
-
dlib
简介:Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments. Dlib's open source licensing allows you to use it in any application, free of charge.
官网:http://dlib.net/ (左下角可以下载)
编译:https://blog.csdn.net/xingchenbingbuyu/article/details/53236541
遇到报错:
dnn_introduction_ex.obj : error LNK2001: 无法解析的外部符号 USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2
备注:报错说明参考http://dlib.net/dlib/test_for_odr_violations.h.html
解决:
将\dlib-19.17\build\dlib下的config.h拷贝到dlib-19.17\dlib下,覆盖原来的文件。
并且添加#define DLIB__CMAKE_GENERATED_A_CONFIG_H_FILE
-
valgrind
Valgrind通常用来成分析程序性能及程序中的内存泄露错误。(Linux C/C++)
学习网址:https://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/
实践:在linux中用来对c++程序检查内存泄漏。
使用:
将程序编译生成可执行文件后执行:
(1)最简单的方式
valgrind --leak-check=full ./程序名
(2)输出到文件
valgrind --log-file=./valgrind_report.log --leak-check=full --show-leak-kinds=all ./程序名
–log-file
指定报告输出文件
–track-origins=yes
是否显示未定义的变量,在堆、栈中被定义没有被initialised的变量都被定义成origins。默认是关闭这个option的。
–show-leak-kinds=all
这里可以支持的选项有[definite|possible],一般只需要去关注definite(绝逼),possible是可能会存在。
–leak-check=full
当服务器退出时是否收集输出内存泄漏,选项有[no|summary|full]这个地方我们将其设置成全输出,默认将会使用summary方式。