vs配置各种第三方库

 

        之前在网上看到的教程大多数是把dll直接丢到system32/syswow64了事,倒也是可以成功的,早期更关注尽快上手代码,所以对配置本身这件事并不是很在意。

        随着写过的项目数目的增加,需要配置的东西也越来越多,也经常为了一些功能需要到网上找各种各样的库,在各种踩坑的经历中,也大概对配置有了一点了解。

 

       配置文件

 

        对于一般的编译好的源码,会包含以下几个部分:

       

  • 头文件(include)       用于函数的声明,可以在头文件中查看有哪些函数。
  • 链接文件(lib)           用于编译时的连接,找到dll中函数的位置。
  • 动态链接文件(dll)    用于函数的定义。

 

        发布可执行文件

 

        一般不需要lib,但要把项目用到的所有dll放到特定文件夹下。

        项目中一些小图标可以直接编译到exe内部,不需要随着项目一起发布。

 

        在有必要的时候,我们还需要把自己的项目打包成lib,include,dll

 

        注意事项

 

        (1)x64 还是 x86 (win32)?

                请注意你配置的库是x64还是x86的,并把项目属性选择成和它一样的。

         (2)debug 还是 release ?

                区分release和debug版的库,一般来说debug的库结尾会有一个d,而release没有。因为带了很多调试信息,debug的库会很大,正式发布请使用release。

                作为printf debug党,一般都是直接配置成release。

         (3)mingw(gcc),......,vc11,vc12,vc13,cv14

                你用的哪种编译器,要对应哪种类型的库。如果不匹配的话,能够考虑的解决方案是:

               

  • 自己重新编译一下库(如果是开源的)
  • 换一个匹配的编译器

         

        可移植项目配置

 

        在多人合作项目中,为了使得项目移植到别的电脑可以直接运行,而不需要重新修改配置,我们就不能用暴力丢到系统库或者用绝对路径一键导入这种方法。

        以OpenCV3.1为例,我使用的版本是vs2015,编译器为vc14,x86架构,release版。

 

        先在项目下建一堆文件夹。

        

       把你需要的东西丢到对应的文件夹,因为我不知道自己可能用到哪些库,就把所有没有d的都扔进来了,示例如下:

       

 

       点击vs菜单栏的 项目 - 属性

       点开“包含目录

       

       输入$(ProjectDir) 代表当前项目目录,在后面加上具体的文件夹名,下面会计算出绝对路径。

       其余的配置是类似的,其中:

 

  • VC++目录 - 包含目录 - include
  • VC++目录 - 库目录     - lib
  • 调试          - 环境         - dll
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值