我正在为 Visual Studio 2012 尝试 libvips,从 http://www.vips.ecs.soton.ac.uk/supported/current/doc/html/vipsmanual/vipsmanualse1.html#x6-60001.1.1的一个简单示例开始
#include <iostream>
#include <vips/vips>
int
main (int argc, char ⋆⋆argv)
{
if (argc != 3)
{
std::cerr << "usage: " << argv[0] << " infile outfile\n";
return (1);
}
try
{
vips::VImage fred (argv[1]);
fred.invert ().write (argv[2]);
}
catch (vips::VError e)
{
e.perror (argv[0]);
}
return (0);
}
我所做的是:
在http://www.vips.ecs.soton.ac.uk/supported/7.34/win32/下载并解压 libvips
添加到 VC++ 目录 -> 将目录包含为 vips-dev-7.34.1\include (vips-dev-7.34.1 是提取的文件夹)
添加到 VC++ 目录->库目录为 vips-dev-7.34.1\lib
添加系统路径条目为 vips-dev-7.34.1\bin
基本上是因为没有太多关于在 Visual Studio 中使用 libvips 的指南,所以我应用了我用于 OpenCV 的程序。该指南只说“您需要做的就是包含。这将获得您需要的所有包含”。显然还有更多。
在构建时,第一个错误是“无法找到头文件“glib-object.h”。本质上,vips/vips 调用 glib-objects “include,它位于 include \include\glib-2.0\glib-objects 的子文件夹中。 H。我搜索了一种让 VS 搜索主包含文件夹中的所有子文件夹的方法,似乎在 VS 中这种“递归搜索”是不可能的。必须准确指向包含头文件的文件夹,我可能需要手动添加所有子文件夹。所以我尝试将 vips-dev-7.34.1\include\glib-2.0 添加到 VC++ 目录->包含目录。但随后 glib-objects.h 调用了另一个 glibconfig.h,在包含文件夹和子文件夹中找不到该文件。
有人成功让 libvips 与 VS 一起工作吗?如果我错过了什么,你能给我一些建议吗?