阅读:1884回复:4
动态库开发问题????
错误提示如下:error LNK2001: unresolved external symbol "int __cdecl X_DllMain(struct HINSTANCE__ *,unsigned long,void *)" (?X_DllMain@@YAHPAUHINSTANCE__@@KPAX@Z)
郁闷呀不知道该怎么改!! |
|
|
沙发#
发布于:2004-12-29 20:43
错误提示如下:error LNK2001: unresolved external symbol "int __cdecl X_DllMain(struct HINSTANCE__ *,unsigned long,void *)" (?X_DllMain@@YAHPAUHINSTANCE__@@KPAX@Z) 你的如果函数是X_DllMain而不是DllMain? 试着更改为DllMain 或者在setting里的link的output中加入X_DllMain |
|
|
板凳#
发布于:2004-12-30 00:01
是这样的,我在动态库中定义输出如下函数:extern "C" __declspec(dllexport) BOOL X_CPAcquireContext(OUT HCRYPTPROV *phProv,IN OUT CHAR *pszContainer,IN DWORD dwFlags,IN PVTableProvStruc pVTable){
......... } 编译是报如下错误: error C2733: second C linkage of overloaded function 'X_CPAcquireContext' not allowed 如果我讲函数前的extern "C" 删除,则可以编译通过,但是我在另外一个动态库中讲使用这个函数,此时编译报错为:error LNK2001: unresolved external symbol "int __cdecl X_CPAcquireContext(unsigned long *,char const *,unsigned long,struct _VTableProvStruc *)" (?X_CPAcquireContext@@YAHPAKPBDKPAU_VTableProvStruc@@@Z) 哪位老大能给解决一下呀!!! |
|
|
地板#
发布于:2004-12-30 08:35
连接库中不能使用extern "C"
它是在调用函数的声明里使用 如: extern "C"{ //声明 } 这样试一试吧 |
|
|
地下室#
发布于:2004-12-30 11:55
问题已经解决了,谢谢哦!
|
|
|