当前位置: 首页 > news >正文

怎么用网站推广wordpress 新建表单

怎么用网站推广,wordpress 新建表单,wordpress 复杂开发,广西网站建设开发外包使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost) vcpkg的自动链接功能非常方便,但在某些情况下会出现过度链接的问题。 链接错误症状 以tinyxml2为例,程序中调用tinyxml2的函数后,若vcpkg中同时存在opencv和…

使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost)

vcpkg的自动链接功能非常方便,但在某些情况下会出现过度链接的问题。

链接错误症状

tinyxml2为例,程序中调用tinyxml2的函数后,若vcpkg中同时存在opencvboost库,自动链接会把本不需要的这两个库的lib也链接上,导致最后生成的可执行程序exe也依赖opencvboost的动态库dll。

主程序:

#include <iostream>
#include <tinyxml2.h>int main()
{tinyxml2::XMLDocument doc;std::cout << "Hello World!\n"; return 0;
}

错误链接boost后,由于boost某些头文件还包含了BOOST_DLLEXPORT(也就是__declspec(dllexport))字段,会导致生成.exe的同时还生成.lib和.exp文件,非常烦人:

在这里插入图片描述

链接错误原理

vcpkg的自动链接功能是通过遍历所有的.lib文件实现的,为程序引用的符号找到对应依赖库。
上述错误是由于tinyxml2引用的某些函数所引用的函数在其他.lib中首先被找到——即tinyxml2引用的某些函数同时在opencv和boost库中也有定义,遍历时后者的.lib先于tinyxml2.lib被找到,从而导致链接了opencv和boost的.lib文件而未链接tinyxml2.lib,进而仅拷贝了opencv和boost的动态库。

解决方法

对症下药,提供两种方法避免链接错误。

方法一:不关闭自动链接功能,在链接器-输入中指定tinyxml2.lib链接器-输入指定的库链接优先级高于vcpkg的自动链接,因此链接器首先从tinyxml2.lib中找到了所需函数后,就终止遍历、不再搜索boost或opencv等vcpkg环境中其他lib里的函数表,最后只链接tinyxml2.lib。

方法二:关闭自动链接功能,在链接器-输入中指定所依赖库的.lib文件。推荐在方法一不奏效时使用。

vcpkg自动链接功能

vcpkg是一个跨平台的c++库工具链,提供了c++库的编译、安装和配置等功能,可以与MSBuild(VS)、CMake等工具集成使用,非常方便。
以VS为例,vcpkg在项目属性中提供了一系列的功能开关,以使用户更方便地使用库:
在这里插入图片描述
其中的开关顾名思义,例如“Use Vcpkg”即控制是否在当前项目中使用Vcpkg;“Use AutoLink”控制是否自动链接项目所需.lib库而不需要手动在链接器-输入中指定。这两个开关默认都是开启状态。

自动链接功能在项目需要依赖包含多个.lib的库时特别有用,例如点云处理算法库pcl。
pcl在编译时就需要依赖Boost、Eigen、Vtk等库,编译完成后生成一大堆.lib和.dll。
在这里插入图片描述

若没有vcpkg,使用pcl库时更是需要在链接器-输入中按需列上boost、vtk和pcl自身的诸多.lib文件,例如:

在这里插入图片描述
为避免重复工作,多数人选择使用项目属性表将上面的配置记录下来,以便后续项目使用。

**但是,**在有了vcpkg之后,链接工作就大大简化了。vcpkg提供的自动链接功能会遍历所有lib文件,找到项目所引用函数后将对应lib自动链接上,不需要用户手动指定链接哪一个lib,非常省心。

并且,在编译生成可执行程序后,vcpkg还会自动将依赖的动态库拷贝到可执行程序所在目录,方便运行。以包含了OpenCV库的项目为例,编译生成的结果如下图所示:

在这里插入图片描述
可见,opencv的一系列动态库和依赖的jpeg、png库都被拷贝到exe旁边了。

http://www.yayakq.cn/news/481560/

相关文章:

  • 做网站赚钱容易吗asp建站程序
  • 哪个网站可以免费建站自己主机做多个网站
  • 做编程的 网站qq企业邮箱登录入口
  • 珠海网站建设找哪家沈阳网站改版
  • 建设网站二级建造师如何解聘视频网站logo怎么做的
  • 怎样申请网站域名和空间电子商务网站开发实训
  • 农产品的网站建设方案书范文三亚住房和城乡建设厅网站
  • 做网站需要什么手续资料网站架构设计师面试技巧
  • 商丘网站建设专业现状网站外链建设设计
  • 网站配色表网站模板在线制作
  • 简洁企业网站源码贵州网站制作公司电话
  • 朝阳市网站公司商城网站建设预算
  • 高碑店建设局网站网站建设流程包括哪些内容
  • 做百度药材种苗网站赚钱黑渠道入口
  • 网站开发工具特点总结wordpress 同步公众号
  • 沈阳关键词网站排名常平镇仿做网站
  • seo网站关键词优化快速官网怎样申请企业邮箱账号
  • 怎么优化网站程序哈尔滨百度引擎
  • 网站运营需要做什么无忧网站建设推荐
  • 网站建设与制作实训报告中信建设有限责任公司是国企吗
  • 温州快速网站推广公司中国网站建设第一品牌
  • 做网站需要多少钱 爱问知识人网站宣传推广
  • 苏州 网站设计 知名logo设计网站官网
  • 教育网站建设案例医院咨询男科
  • 南京明辉建设集团网站seo公司哪家好用
  • 网站建设设计制作维护股票交易网站建设
  • 百度网站排名规则网页视频下载手机
  • 更改host文件把淘宝指向自己做的钓鱼网站网站开发如何共用菜单栏require
  • 简述建设网站建设的基本流程中国石油工程建设有限公司网站
  • 大连 网站制作易销云建站公司