VS2010的MFC程序如何调用动态库文件(dll文件)?放在system32中仍然编译无法打开d
VS2010的MFC程序如何调用动态库文件(dll文件)?放在system32中仍然编译无法打开dll,求大神指点...
VS2010的MFC程序如何调用动态库文件(dll文件)?放在system32中仍然编译无法打开dll,求大神指点
展开
展开全部
dll这个东西,只要放到编译时会去访问的任意路径上即可。
比如你现在是Debug,你可以放到Debug文件夹或者工程文件夹;
你现在是Release, 你可以放到Release文件夹或者工程文件放到System32无法访问可能说明你的程序根本不需要去访问System32,虽然这不太可能。
当然我可以认为楼主是在隐式调用dll, 显示调用失败系统不会报错。如果 你是要隐式调用已经知道库在何处和其中函数定义的dll,可以在你的FingerMatch.cpp开始的时候写上:
#ifdef _DEBUG
#pragma comment(lib, "..(路径)fp.lib")
#else
#pragma comment(lib, "..(路径)fp.lib")
#endif
然后包含一下fp.h,这个应该是已经做了。那应该不会有什么问题了。
值得注意的是编译时dll只会打开一次,比如你在Debug文件夹下有一个fp.dll,在工程文件夹下也有一个fp.dll,那么编译时使用的是Debug文件夹下的dll,因为它先被找到。
如果上面说的都没用,那么你显式调用吧
比如你现在是Debug,你可以放到Debug文件夹或者工程文件夹;
你现在是Release, 你可以放到Release文件夹或者工程文件放到System32无法访问可能说明你的程序根本不需要去访问System32,虽然这不太可能。
当然我可以认为楼主是在隐式调用dll, 显示调用失败系统不会报错。如果 你是要隐式调用已经知道库在何处和其中函数定义的dll,可以在你的FingerMatch.cpp开始的时候写上:
#ifdef _DEBUG
#pragma comment(lib, "..(路径)fp.lib")
#else
#pragma comment(lib, "..(路径)fp.lib")
#endif
然后包含一下fp.h,这个应该是已经做了。那应该不会有什么问题了。
值得注意的是编译时dll只会打开一次,比如你在Debug文件夹下有一个fp.dll,在工程文件夹下也有一个fp.dll,那么编译时使用的是Debug文件夹下的dll,因为它先被找到。
如果上面说的都没用,那么你显式调用吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询