关于github上一个关于lytro的代码

本文探讨了在使用GitHub上的一个用于人脸变老的C++程序时遇到的问题,包括如何在Windows环境中编译使用`unistd.h`头文件的代码,解决OpenCV库中`legacy`库找不到的问题,以及`snprintf`函数在不同编译器中的实现差异。通过实践和调整代码,最终解决了这些问题并继续进行Lytro功能模块的开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、下载了github上了一个人脸变老的程序,是c++写的,其中有个头文件#include <unistd.h>,网上说是linux下的一个头文件,经过查阅说是可以用mingw编译,正在实践。

没有用到unistd.h,

将WIN32改成_WIN32,错误消失。


2、#include "opencv2/contrib/compat.hpp"


#include "opencv2/legacy.hpp"
#include "opencv2/legacy/compat.hpp"
#include "opencv2/legacy/blobtrack.hpp"


头文件找不到,legacy是一个废弃的库,我想想办法把这个找回来,目前是打算下载一个2.4版本的opencv,下载了2.4.10解决


3、“snprintf”:  找不到标识符,

snprintf()函数的格式跟printf差不多一样,是在c里面用的函数,包含在 #include <stdio.h>头文件中。

但snprintf()函数并不是标准c/c++中规定的函数,所以在许多编译器中,厂商提供了其相应的实现的版本。在gcc中,该函数名称就snprintf(),而在VS中称为_snprintf。 所以在需要使用snprintf()时改成_snprintf就可以了,解决

4、通了,可是并不能用,我觉得这个项目超出了太多我的能力范围。

5、接下来是做lytro的一些功能模块,首先是选择一个弹出层插件,fancybox这个插件感觉不错,正在看,解决了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值