本文主要是介绍error LNK2019: 无法解析的外部符号 __declspec(dllimport),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网络帖子:
我在VS2005下写C++的程序,采用一个工程生成DLL文件给另一个工程执行,但每次执行时都出现 error LNK2019: 无法解析的外部符号 "__declspec(dllimport)错误。检查了好几遍代码都觉得没有问题。
最后发现是字符集出现问题。生成DLL文件的字符集是Unicode而生成exe文件的字符集为默认的ASCII。
只要统一字符集即可解决问题:
VS2005的c++项目默认字符集是使用 Unicode 字符集,在项目属性->配置属性-->常规->项目默认值->字符集中设置字符集即可。
补充VC6.0是默认采用ASCII字符集的。
自己工程:
UNICODE工程 调用ANSI DLL
将工程改为ANSI后, 不再出现这个问题
但是工程改为ANSI后,会有其他问题, 因此必须为unicode
那么unicode工程 如何改为ANSI呢?
方法是:
将unicode参数 转换为ANSI参数后, 在传递给DLL 调用 就可以了
参考资料:
http://www.cnblogs.com/lihaozy/archive/2012/07/05/2577512.html
这篇关于error LNK2019: 无法解析的外部符号 __declspec(dllimport)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!