visual studio 的控件 dll 放哪个 文件夹

visual studio 的控件 dll 放哪个 文件夹,第1张

"d:\丛模program

files\vs2008\common7\ide\devenv.exe"这个是我的,你的我不知道在那个盘,不过路径基渗悉缓本上都是的!你自己找一下!

你没陆嫌改过的话就是在c盘!

1:创建DLL工程

文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以)

填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。

到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h。

MyDLL.cpp内容如下:

1 #include  

2 using namespace std 

3 #include "MyDLL.h" 

4  

5 int Add(int &a,int &b) 

6 { 

7    纳脊 return a+b  

8 }

MyDLL.h内容如下:

1 #pragma once

2  

3 extern "C" __declspec(dllexport) int Add(int &a,int &b)

点击生成Bulid -->Bulid MyDLL,dll文件就生成了,vs2008不能直接生成lib文件,这个时候就需要我们在建立dll工程的时候 再新建一个def文件,默认生成然后重新生成就能够得到lib文件了,但可以通过修改工程属性里面的general->project default->configure type修改为lib,就可以生成lib文件。

注意:如果在已存在的工程上创建dll或者lib,不需要修改工程,只要把工程属性里面的general->project default->configure type修改为lib或者dll,就可以生成lib文件或者dll文件了

在C++程序中使用刚才生成的DLL文件步骤:

新建一个win32 控制台工程,取名testMyDLL,新建两个文件:testMyDLL.cpp和testMyDLL.h,

首先需要 隐式链接采用静态加载的方式,比较简单,需要.h、.lib、.dll三件套。新建“控制台应用程序”或“空项目”。配置如下:(这一点非常重要)

项目->属性->配置属性->VC++ 目录-> 在“包含目录”里添加头文件MyDLL.h所在的目录

项目->属性->配置属性->VC++ 目录-> 在“库目录”里添加头文件MyDLL.lib所在的目录 

项目->属性->配置属性->链接器->输入-> 在“附加依赖项”里添加“MyDLL.lib”(若有多个 lib 则以空格隔开)

testMyDLL.cpp内容如下:

#include "testMyDLL.h" 

#pragma comment(lib,"..\\debug\\MyDLL.lib")//可以写成绝对路径,但是路径一定要用\\来指明,即:J:\\Pr//ograms\\C++\\Practice\\DLLTEST\\DLLtest\\Debug\\MyDLL.lib"#include  

using namespace std

int main() 

{

int a =3

int b =2

cout<<Add(a,b)<<endl

getchar()

}  

testMyDLL.h内容如下

#pragma once

extern "C" _declspec(dllexport) int Add(int &a,int &b)

现洞姿渗在可以编译通过了,但是程序运行就报错,还需要将MyDLL.dll复制到当前项目生成的可执行文件所在的目册没录。(这一点非常重要)

这里需要注意testMyDLL.cpp文件中调用lib的这句话:

#pragma comment(lib,"..\\debug\\MyDLL.lib")

这里需要指明lib所在的文件夹,当然我们也可以在生成dll的MyDLL工程中,指定lib和dll文件的输出路径,直接到testMyDLL工程下。

注意:如果只有dll文件,那么必须在程序里面调用LoadLibrary()函数才能使用,如果有lib文件,那么有两种方式可以马上进行调用

引用分三种,如果管理的好,项目就十分的清楚

以下是三种方案

1.[优先级低]系统引用.如system.text这些是系统自动建好的,在配置文件下,你不用管

2.[优先级中]文件引用. *** 作方法是删除你本地程序"引用"中的引用,点增加引用从生成dll的项目中的debug/下的目录中选择dll.然后它就会自动获取dll最新的

3.[优先级高]引用路径. *** 作方法是点击项目属性,从中项目属性中设置引用路径,引用路睁银径从上到下优先级逐次下降

一般来说,如果有全部的源代码,采用方案2,同时清空所有的方案3,一定清空否则有影响.

对于自己只编写部分的源代码,可采用方案3,就是把你所引用到的所有的dll统一放到一个统一的文件夹中 如D:/公共程序集/,然后,在项目属性毕让中增加一下此路悉数宴径.就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12245138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存