使用VS开始一个新项目配置外部库的新手总结

 

    在使用VS做一个项目的时候,往往会需要使用各种各样的库,一般一个标准的外部库目录大体结构为

VS在配置这些库的时候有多种可行方法,但是不同的方法对于项目后续的管理和移植有不同的影响,我使用过以下三种方法进行配置。

第一种方式:

  最不推荐的一种是直接用相对路径或者绝对路径去配置需要的库。这样做极不利于项目的整体维护和移植。

第二种方式:

  每次新建vs工程是,习惯性的把include、lib、bin目录也创建出来,它们跟.sln在同一目录下。那么在使用到外部库的时候,就可以把外部库中需要的东西分别复制到对应文件夾里,这样做虽然增大了项目的体积,但是便于项目的整体移植。配置时,只需用定义好的宏,比如配置include:$(SolutionDir)就表示当前解决方案的路径,也就是.sln所在路径。

 

  同样配置lib:

  然后,‘输入’里边直接放需要的lib文件即可:

 

第三种方式:

  在电脑系统环境变量里,把待使用的外部库新建一个变量,变量名赋值为该库的主目录:

 

  接下来的配置就类似于第二种方式中,使用宏定义。

   

 

 

  这种方式配置不需要复制各种库文件到项目中,使项目相对比较轻盈,但是在移植方面也有缺点,比如移植的目标运行环境必须有该库的环境变量,以及可兼容版本的库。

 

找不到.dll的问题:

  另外,对于运行过程中报出的找不到.dll的问题,有两种方法解决:

  1、去外部库目录下找到该文件,并复制到本项目生成的exe所在目录下。

  2、在系统环境变量path中将该dll所在目录添加进去。

包含目录和附加包含目录:

  新手可能分不清这两个目录的区别,因为不管在哪个里边配置路径都有效,所以就不去管到底有什么区别,只要管用就行。

  1、  包含目录附加包含目录(库目录和附加库目录)的区别:

 

 

      包含目录:修改了系统的include宏的值,是全局的;

      附加包含目录:用于当前项目,对其他项目没有影响。

      (库目录附加库目录的区别同上)

  2、  可知包含目录和附加包含目录(库目录和附加库目录)的区别主要在于全局还是当前,那么当需要对某工程添加这些目录时,通常情况下,都是在附加包含目录和附加库目录中添加的。

  3、  要使用一个库,除了要include其头文件以外(附加包含目录),还要在链接过程中把lib加进去(附加库目录、附加依赖项)。

*以上为结合网上资料和本人经验的一些整理,如有不妥,欢迎讨论

posted @ 2020-04-02 11:29  const_wss  阅读(751)  评论(0编辑  收藏  举报