【发布时间】:2015-06-10 08:11:42
【问题描述】:
我的 C++ 程序中有一行
HINSTANCE hInstLibrary = LoadLibrary("DLL_tut.dll");
这里我收到错误消息说 error C2664: 'LoadLibraryW' : cannot convert parameter 1 from 'const char [12]' to 'LPCWSTR'
我正在尝试实现链接http://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/article.php/c9855/DLL-Tutorial-For-Beginners.htm中给出的程序
尝试找到一些解决方案并找到最接近的Incompatible var types 我认为,但我不明白如何隐藏该文件字符串,我猜这个问题的最后一个答案更合适。 有人可以建议如何消除此错误吗?
PS:不是一些家庭作业,对 dll 不熟悉,并试图自己理解。卡在这最后一步。
【问题讨论】:
-
您可以尝试将参数包装在
TEXT宏中,如示例所示:msdn.microsoft.com/en-us/library/windows/desktop/… -
函数通常有 ANSI 和 Unicode 版本,但函数名称相同,因此使用
TEXT宏将确保传递的类型是正确的类型,或者如果您的项目可以传递L"DLL_tut.dll"只有 unicode 配置 -
有什么区别,哪个更好用?
-
TEXT宏将确保代码在 ANSI 或 unicode 配置中编译,因此更便携
标签: c++ dll types loadlibrary