我想在我的程序中静态链接和使用。但是,我没有源代码,所以我需要自己编写头文件。
这是我的dumbin / exports
的结果文件类型:LIBRARY
Exports ordinal name ?about@@YGHXZ (int __stdcall about(void)) ?barcode@@YGHPAD00000000@Z (int __stdcall barcode(char *,char *,char *,char *,char *,char *,char *,char *,char *)) ?clearbuffer@@YGHXZ (int __stdcall clearbuffer(void)) ?closeport@@YGHXZ (int __stdcall closeport(void)) ?downloadpcx@@YGHPAD0@Z (int __stdcall downloadpcx(char *,char *)) ?formfeed@@YGHXZ (int __stdcall formfeed(void)) ?nobackfeed@@YGHXZ (int __stdcall nobackfeed(void)) ?openport@@YGHPAD@Z (int __stdcall openport(char *)) ?printerfont@@YGHPAD000000@Z (int __stdcall printerfont(char *,char *,char *,char *,char *,char *,char *)) ?printlabel@@YGHPAD0@Z (int __stdcall printlabel(char *,char *)) ?sendcommand@@YGHPAD@Z (int __stdcall sendcommand(char *)) ?setup@@YGHPAD000000@Z (int __stdcall setup(char *,char *,char *,char *,char *,char *,char *)) ?usbportqueryprinter@@YGHXZ (int __stdcall usbportqueryprinter(void)) ?usbportwrite@@YGHPAD@Z (int __stdcall usbportwrite(char *)) ?windowsfont@@YGHHHHHHHPAD0@Z (int __stdcall windowsfont(int,int,int,int,int,int,char *,char *)) ?windowsfontU@@YGHHHHHHHPAD0@Z (int __stdcall windowsfontU(int,int,int,int,int,int,char *,char *))
我试着写一个头文件,所以我可以使用这些函数(显示一个):
int __stdcall openport(char *printername);
我已将库静态链接到我的程序,并尝试调用函数openport
,但我得到undefined reference to openport(char*)@4
。
是否有人知道如何写这个以便正确链接? (或者这是一个好主意吗?)
修改
我还运行undname ?openport@@YGHPAD@Z
,返回:
未装饰: - “?openport @@ YGHPAD @ Z”
是: - “int __stdcall openport(char *)”
这可能意味着我无法正常链接。