在VC2005中如何使用已经定义好的dll文件 大侠help!自己用VC2005开发,怎么用已经现成的dll文件,和lib(非系统),还有应该放在什么位置。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Lib在Project Setting的Link->Input中写进去。DLL需要使用LoadLibrary加载,然后使用GetProcAddress()得到函数入口并转为相应的函数指针进行调用。使用完毕FreeLibrary。 加入dll库提供的头文件,把lib文件也加入工程。把dll文件放在与生成的可执行文件的相同目录。 那这些lib 和dll 该放在那个位置呢?随便放还是? 那这些lib放哪?有多个有怎么写?路径什么的?新手呀多多包涵 Lib,因为是静态链接,所以你需要放到一个你的程序可以引用到的地方。一般就在*.VCProj(就是VC2005工程文件)相同文件夹下建立一个\LIB的目录。DLL,一般需要写配置文件,指出DLL存放路径。这样比较灵活。当然你直接和程序(Exe)放到同个目录下也可以,这样就不需要写配置文件。 首先要添加Lib路径,然后在项目里导入lib,比如#pragma comment(lib, "xxx.lib")接着添加dll的头文件,然后调用DLL模块 位置就是“Lib在Project Setting的Link->Input中写进去”其中位置也是项目所在的mytest/lib我往里面是这么写的“mjA.lib;Bnet.lib;mjC.lib编译出错:。。 error LNK1104: 无法打开文件“mjA.lib;Bnet.lib;mjC.lib” 在ProjectSetting的Link->General->Additional Library directories下写上.\Lib,表示增加一个链接库的存放路径为当前工程的\Lib下。 你要记住一点就是,链接时是以当前工程文件*.vcproj为起点,来找到你的Lib文件。所以不再同一目录的时候,你需要指定我上面提到的那个Additional Library Directories目录。 .\代表当前路径,..\代表上一级目录。一般写相对路径,因为你的程序可能会在不同机器上编译。 lib路径已经按你说的那样弄好了,那个“输入”-“附加依赖项”里也写上了mjA.lib;Bnet.lib;mjC.lib编译还是出错: error LNK1104: 无法打开文件“mjA.lib;Bnet.lib;mjC.lib” 呃,你个人分析哈原因呢?就按我说的原则来分析。以你的工程为起点,你看看能按照Additiaonal Library Directories和Input中输入项拼接起来的lib的路径能找到Lib文件不? 感谢各位朋友的帮助,尤其是“xyzhaopeng” 这个问题已经OK 了由于上面我问的比较乱,现在整理一下解决过程,以便后来者也能看个明白1、在test项目下添加了Lib 把我的.lib放在其中2、项目-属性-连接器-常规-附加库目录,找到刚刚那个Lib3、也是在上面的连接器-输入-附加依赖项输入 Lib\**.lib Lib\**.lib我添加的是多个.lib把dll 文件放到 和Lib同一个目录这样可以了,不知道我总结的对不对哈 C++中 _T是什么意思,有什么作用?谢谢! 请问单击Windows的开始菜单右边的“显示桌面”按钮,我的应用程序窗口会收到什么消息? 如何改变static edit control 的字体大小? 怎样转换BSTR到char[]或者string ButtonST中设置完SetState(TRUE)后无法点击别的按钮 请问如何设置MFC基本对话框边框颜色 如何用VC写MODEM拨号上网程序? 菜单无法选中问题 VC内edit控件,控制使该控件只能输入汉字 位图旋转 记录集显示 树形控件的俩个问题
DLL需要使用LoadLibrary加载,然后使用GetProcAddress()得到函数入口并转为相应的函数指针进行调用。
使用完毕FreeLibrary。
那这些lib放哪?有多个有怎么写?路径什么的?新手呀多多包涵
一般就在*.VCProj(就是VC2005工程文件)相同文件夹下建立一个\LIB的目录。DLL,一般需要写配置文件,指出DLL存放路径。这样比较灵活。
当然你直接和程序(Exe)放到同个目录下也可以,这样就不需要写配置文件。
然后在项目里导入lib,比如#pragma comment(lib, "xxx.lib")
接着添加dll的头文件,然后调用DLL模块
我往里面是这么写的“mjA.lib;Bnet.lib;mjC.lib
编译出错:。。 error LNK1104: 无法打开文件“mjA.lib;Bnet.lib;mjC.lib”
编译还是出错: error LNK1104: 无法打开文件“mjA.lib;Bnet.lib;mjC.lib”
由于上面我问的比较乱,现在整理一下解决过程,以便后来者也能看个明白
1、在test项目下添加了Lib 把我的.lib放在其中
2、项目-属性-连接器-常规-附加库目录,找到刚刚那个Lib
3、也是在上面的连接器-输入-附加依赖项输入 Lib\**.lib
Lib\**.lib
我添加的是多个.lib
把dll 文件放到 和Lib同一个目录这样可以了,不知道我总结的对不对哈