C++ - 加载库为自制 DLL 返回 126 错误
C++ - LoadLibrary returns 126 error for self-made DLL
我正在自定义项目中播放,并尝试使用LoadLibrary
函数在其他项目中创建一个 DLL 并在运行时链接,但它返回 126 错误。在谷歌上搜索了很多,但在大多数情况下,人们调试了其他人的程序。但是我的DLL包含函数string sayHello() { return "Hello"; }
。应应用哪些项目选项才能让我成功加载此 dll?并调用函数?谢谢
UDP:
vector<BYTE> decodedDll = base64_decode(base64dll);
string filename = string("lib.dll");
ofstream outfile(filename, ios::out | ios::binary);
outfile.write((const char*) &decodedDll[0], decodedDll.size());
outfile.close();
if (!fileExists(filename))
{
cout << "DLL file not found " << endl;
getchar();
return;
}
HINSTANCE hGetProcIDDLL = LoadLibrary((LPCWSTR) filename.c_str());
int loadLibraryError = GetLastError();
if (hGetProcIDDLL == NULL)
{
string error = "Could not load DLLn";
send(s, error.c_str(), error.length(), 0);
finishSocketWork(s, address);
cout << "Unable to load LIB, error code " << loadLibraryError << endl;
getchar();
return;
}
(这是大学工作,我需要从客户端接收 DLL,调用指定的函数并返回结果(。传输效果很好.dll - 文件是平等的
LoadLibrary((LPCWSTR)filename.c_str());
这是一个常见错误,尝试使用(LPCWSTR)
强制转换隐藏编译器错误。演员阵容在这里毫无意义。您也可以尝试从整数转换为字符串。
对 ANSI 参数使用LoadLibraryA
ANSI 版本:
HINSTANCE hGetProcIDDLL = LoadLibraryA(filename.c_str());
或者使用宽字符串函数std::wstring
相关文章:
- 从非托管 C# DLL 返回列表/数组
- C++ 安全数组在从 c# COM dll 返回时具有无效数据
- C# 中的 C++ DLL 返回 -858993460
- LoadLibrary('user32.dll') 返回 14007
- 从 dll 返回多个字符串
- 如何从C DLL返回的指针中获得VBA中的整个矩阵
- 如何处理从C#中的C DLL返回的INTPTR
- 将C#struct传递给C 不受管理的DLL返回错误结果
- C++ - 加载库为自制 DLL 返回 126 错误
- 嵌入式mono:将数组从C#DLL返回/复制到C++
- VBA调用相同的C DLL返回不同的结果
- C++ DLL 返回指向 std::list<std::wstring 的指针>
- Qt 5.2 DLL返回与应用程序调用DLL不同的结果
- 客户端正在获取从C++COM dll返回的字节数组
- 从DLL返回std::wstring是否安全
- 如何正确地从dll返回std::list
- 如何在.NET Visual Basic应用程序中读取从C++DLL返回的const char*
- 从 c++ dll 返回 double* 到 delphi 程序
- 从数组数据中缺少第一个元素的 DLL 返回C++结构
- dll从VC++导入到VB函数的转换从dll返回错误,因为缺少链接库