lnk1136 - 无效或损坏的 .lib
lnk1136 - invalid or corrupt .lib
我有个小问题。我得到了一个 dll C 库、一个头文件和调用此 dll 所需的所有其他文件。我试过通过第三方程序调用这个 dll,它正在工作。
但是,当我尝试直接调用它时(加载时动态链接并使用给定的头文件),我总是会收到 mydll.lib.
的链接器错误 1136
使用头文件:
#include "windows.h"
#include "mydll.h"
void main() {
bool test;
test = CallDll("MyArg");
}
头文件中的代码如下:
extern "C" bool _stdcall CallDll(char* MyArg);
在加载时使用动态链接:
#include "windows.h"
bool(*CallDll)(char*);
HINSTANCE h = LoadLibrary((LPCSTR)"mydll");
void main() {
CallDll = (bool(*)(char*))GetProcAddress(h, "CallDll");
bool test;
test = CallDll("MyArg");
}
现在我做错了什么?我怀疑 mydll.lib 文件是否损坏,因为如果这是问题所在,我将无法使用第三方程序访问 dll。
嗯,这是一个相当简单的解决方案。
bool(*CallDll)(char*);
HINSTANCE h = LoadLibrary(L"mydll.dll");
void main() {
CallDll = (bool(*)(char*))GetProcAddress(h, "CallDll");
bool test;
test = CallDll((char*)"MyArg");
}
是否需要它...
我有个小问题。我得到了一个 dll C 库、一个头文件和调用此 dll 所需的所有其他文件。我试过通过第三方程序调用这个 dll,它正在工作。 但是,当我尝试直接调用它时(加载时动态链接并使用给定的头文件),我总是会收到 mydll.lib.
的链接器错误 1136使用头文件:
#include "windows.h"
#include "mydll.h"
void main() {
bool test;
test = CallDll("MyArg");
}
头文件中的代码如下:
extern "C" bool _stdcall CallDll(char* MyArg);
在加载时使用动态链接:
#include "windows.h"
bool(*CallDll)(char*);
HINSTANCE h = LoadLibrary((LPCSTR)"mydll");
void main() {
CallDll = (bool(*)(char*))GetProcAddress(h, "CallDll");
bool test;
test = CallDll("MyArg");
}
现在我做错了什么?我怀疑 mydll.lib 文件是否损坏,因为如果这是问题所在,我将无法使用第三方程序访问 dll。
嗯,这是一个相当简单的解决方案。
bool(*CallDll)(char*);
HINSTANCE h = LoadLibrary(L"mydll.dll");
void main() {
CallDll = (bool(*)(char*))GetProcAddress(h, "CallDll");
bool test;
test = CallDll((char*)"MyArg");
}
是否需要它...