Visual Studio可执行程序exe如何调用其它文件夹的dll/lib文件

时间:2024-02-21 22:03:24

  应注意的是:用以下描述的方法可以是相同版本调用同版本或调用低版本的dll是有效的,如果想调用高版本的dll肯定会提示dll缺失,即调用失败!如使用VS2015(v140)编译出来的exe程序调用VS2017(v141)编译生成的dll即会导致调用失败。

  引入dll的方法:

方法1:配置属性->调试->环境:输入path=包含dll文件的文件夹路径,

  注意是包含dll文件的文件夹的路径,而不是dll文件的路径

  注意path(空格)=路径、path=(空格)路径、path(空格)=(空格)路径等写法都会导致dll引用失败。

方法2:将dll文件拷贝到生成的.exe所在的文件夹中

方法3:配置属性->调试->工作目录:包含dll文件的文件夹路径

本文转自:http://blog.csdn.net/finewind/article/details/38474731

--------------------------------------------------------------------------------------------

可参考图文并茂的描述:https://www.cnblogs.com/kileyi/p/5156842.html

  引入LIB的方法:

一、VS中添加LIb库及头文件(外部依赖项)的步骤:

 1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

 2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。

    然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

 3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。

二、相对路径的设置

  在VS的工程中常常要设置头文件的包含路径,当然你可以使用绝对路径,但是如果你这样设置了你只能在你自己的机器上运行该工程;如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了E:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。
  对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(XXXX.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
例如你的工程文件(Count.vcproj)所在目录路径为:
E:\projects\Count\Count\Count.vcproj
该工程需要包含一个图片参数,该图片所在路径如下:
E:\projects\Count\pic\pic01.jpg
这里程序中的相对路径设置如下:
..\\pic\\pic02.jpg

程序代码中的参数路径设置时要用双斜线:
例如:
#include "..\TestLib\lib.h"
#pragma comment(lib,"..\\debug\\TestLib.lib");
对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(XXXX.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
例如你的工程文件(Count.vcproj)所在目录路径为:
E:\projects\Count\Count\Count.vcproj
该工程需要包含一个图片参数,该图片所在路径如下:
E:\projects\Count\pic\pic01.jpg
这里程序中的相对路径设置如下:
..\\pic\\pic02.jpg
程序代码中的参数路径设置时要用双斜线:
例如:
#include "..\TestLib\lib.h"
#pragma comment(lib,"..\\debug\\TestLib.lib");

以上两种方法选择其一即可,都可行希望可以帮到各位同仁。