从* .lib c ++调用

时间:2017-03-17 16:07:04

标签: c++ .lib

有人可以告诉我如何从lib文件中调用这种类型的函数(我是从dumpbin /list得到的) 这里是:  00A 00000000 SECT4 notype External | ?GetWindowPauseOnSizeMove_ext@@3P6G_NXZA (bool (__stdcall* GetWindowPauseOnSizeMove_ext)(void))

我试过

#pragma comment( lib, "MyLib" )
 extern "C" bool _stdcall GetWindowPauseOnSizeMove_ext(void)

但我收到此错误

Severity  Code    Description Project File    Line    Suppression State
     

错误LNK2019未解析的外部符号_GetWindowPauseOnSizeMove_ext @ 0在函数_Test中引用NF_dll D:\ Test \ Test \ main.obj 1

任何帮助都会很棒

1 个答案:

答案 0 :(得分:4)

根据dumpbin列表中的参数重整,似乎该函数实际上已编译为C ++。

尝试删除extern "C",并尝试使用调用约定(__stdcall_cdecl__fastcall)。

如果http://demangler.com/正确,则函数签名应为:

BOOL __stdcall GetWindowPauseOnSizeMove_ext(void)

即。接近你所拥有的,只有C ++链接而不是C链接。