VS2010的MFC程序如何调用动态库文件(dll文件)?放在system32中仍然编译无法打开d

2024-12-05 03:12:52
推荐回答(3个)
回答1:

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,因为它先被找到。

如果上面说的都没用,那么你显式调用吧

回答2:

请问楼主解决了吗?我遇到同样的问题

回答3:

和执行档放在同一目录呢?