vs2010下静态加载dll文件,每次都要把.dll .lib 复制到目录下,但书上说可以设置系统环境变量就不要复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2010下静态加载dll文件,每次都要把.dll .lib 复制到目录下,但书上说可以设置系统环境变量就不要复制相关的知识,希望对你有一定的参考价值。

是这样设吗 但我射了没用啊,还是我射错了?
可执行文件仅在运行时加载动态链接库。必须告诉系统在哪里查找“MathFuncsDll.dll”。您可以通过使用 PATH 环境变量做到这一点。 为此,请在 “属性页”对话框中展开 “配置属性”节点,并选择 “调试”。 在 “环境”旁边键入以下内容: PATH=<MathFuncsDll.dll 文件的路径 >,其中 <MathFuncsDll.dll 文件的路径> 应替换为 MathFuncsDll.dll 的实际位置。 单击 “确定”保存所有更改。

参考技术A 用的VS2003,没用2010,不过估计也差不多。

调试目录表示的是当你在VS环境中直接调用调试时,在哪儿寻找执行程序所需的资源。

按你的说法,你想实现的应该是生成Dll后,不需要拷贝Dll到目标目录就可以直接执行程序调用最新的Dll。

可以按如下设置dll项目,假设程序所在目录为C:\abc\abc.exe
1、属性-》调试-》命令设为主程序 C:\abc\abc.exe
1、属性-》调试-》工作目录设为主程序所在目录 C:\abc
2、将dll项目设置中链接器-》常规-》输出文件改为C:\abc\XXX.dll

设置完后就可以直接使用调试命令了。本回答被提问者采纳

c# dllimport怎么弱引用

参考技术A 第一种方法:使用LoadLibrary和GetProcAddress配合,这种方法称为弱引用,其优点是可以跨编译器使用,也就是用vs2008编译的dl,使用时候,到vs2010下代码可以直接用。缺点是不能使用导出的类
第二种方法:引用CommonDll.lib来引用,这种方法的优缺点就和弱应用刚好互补,优点是使用方便,可以使用导出的类,缺点是vs2008编译出来的lib,到vs2010或者其他版本的编译器就有可能不能使用。
这种方法对于强引用来说,在编译CommonDll.dl时
候,在预处理器里定义了宏▁COMMON,这样就会导
出对应的函数和类
当引用CommonDll.lib时候,没有定义_Common,一COMMON_EXPORT就成了dllimport,它就会把lib导出的函数导入

以上是关于vs2010下静态加载dll文件,每次都要把.dll .lib 复制到目录下,但书上说可以设置系统环境变量就不要复制的主要内容,如果未能解决你的问题,请参考以下文章

[转]windows下VS2010中lib与dll文件的生成与使用

c# dllimport怎么弱引用

动态加载vs静态加载

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

VS不同编译器,x86,x64,动态库,静态库交叉引用问题