首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为visual studio 2012设置VIPS库

为visual studio 2012设置VIPS库
EN

Stack Overflow用户
提问于 2013-07-27 15:58:24
回答 1查看 1K关注 0票数 1

我正在尝试libvips for visual studio 2012,从http://www.vips.ecs.soton.ac.uk/supported/current/doc/html/vipsmanual/vipsmanualse1.html#x6-60001.1.1中的一个简单示例开始

代码语言:javascript
运行
复制
#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/下载并解压libvip

添加到VC++目录->包含目录作为vips-dev-7.34.1\包含(vips 7.34.1是提取的文件夹)

将VC++目录->库目录添加为vips dev-7.34.1\lib

将系统路径条目添加为vips-dev-7.34.1\bin

基本上是因为没有多少关于在visual中使用libvip的指导,所以我应用了用于OpenCV的过程。指南只说:“你所需要做的就是包含。这将得到你所需要的所有包含”。更重要的是,还有更多。

在构建时,第一个错误是“找不到头文件”glib-object.h,本质上,vips/vips调用glib-objects "include“,它位于include \include\glib-2.0\glib-objects.h的子文件夹中。我搜索了一种使VS搜索主包含文件夹中所有子文件夹的方法,似乎在VS中这种“递归搜索”是不可能的。一个必须准确地指向包含头文件的文件夹,我可能需要手动添加所有的子文件夹。因此,我尝试将vips 7.34.1\Include\glib-2.0添加到VC++目录->Include目录中。但是,glib-objects.h会调用另一个glibconfig.h,它在include文件夹和子文件夹中找不到。

有人成功地让libvip和VS一起工作吗?如果我错过了什么,你能给我一些建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-09 10:00:46

我是libvips的维护者。对不起,由于各种原因,很难在VS中使用预构建的libvips二进制文件(见下文)。我认为您的选择是使用明威,从linux交叉编译(这就是我所做的),或者使用VS从源代码中重新构建libvips (可能需要为有经验的开发人员做一周的工作?)有关于这个问题的重要人物网站上的几点注记

该网站上的libvips.dll已从linux中交叉编译,使用mingw。它是为带有pkg-config的linux风格的构建系统设置的,因此您将在VS中找到许多编译器标志,并且它是针对msvcrt.dll ( Windows运行时)而不是针对VS运行时( msvcrtXX.dll )构建的,因此除非您也针对Windows运行时进行构建,否则您将遇到无尽的恼人的兼容性问题。

不幸的是,VS不再支持针对Windows运行时进行构建。他们有一个支持这种模式的内部工具,但它不是公开的。我在某个地方读到过,您可以诱使DDK编译器这样做,但它也不受支持。

CoApp是一个有趣的项目(部分由微软支持),它试图减少在Windows上构建软件的痛苦,但它仍然处于测试阶段。您可能会问他们是否有一个libvip打包用于VS,或者正在考虑制作一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17899703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档