http://blog.csdn.net/fly_902/article/details/5774576
我在调试dll时(修改了debug和release生成路径)静态加载dll后启动exe,debug方式,报错,无法找到xx.DLL,我动态调用的是xxD.DLL,exe始终无法加载xxD.DLL。最后采用如下方法解决了此问题。
dllD.exp : warning LNK4070: /OUT:dll.dll directive in .EXP differs from output filename "Debug/dllD.dll"; ignoring directive
我在DLL项目中遇到了,因为要对Debug版和Release版分别指定不同的输出文件名。对Debug版,我指定输出文件为dllD.dll,对Release版指定为dllR.dll。
解决方法有两个:(1)删掉自动生成的dll.DEF文件,在代码中使用_declspec(dllexport)导出函数;(2)删掉dll.DEF文件中LIBRARY字段后面双引号及其内部的库名即可,如:
; dll.def : Declares the module parameters for the DLL.
LIBRARY
DESCRIPTION 'dll Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here