imp dll时遇见的非常恶心的问题

我需要导入dll库中这样一个函数VM661JTCPDLL_API int admin_login(sel_admin_ret* sel_admins, int num, char* admin_name);

使用dll的工程和这个dll的工程都是我编译的

因为需求有变,这个函数需要添加一个参数作为flag

bool* bCanEndLogin

于是我改成VM661JTCPDLL_API int admin_login(sel_admin_ret* sel_admins, int num, char* admin_name,bool* bCanEndLogin);

重新编译后,将生成的lib也放在了工程目录

结果编译项目,总是报错链接失败

error LNK2001: 无法解析的外部符号 __imp_adminLogin

让我非常郁闷

最后经过反复试验,发现如果函数新添加参数为bool*类型,就会这样

后来我把这个flag改成了int*

VM661JTCPDLL_API int admin_login(sel_admin_ret* sel_admins, int num, char* admin_name,int* iCanEndLogin);

结果就没问题了

什么tmd鬼

有时候微软的vs编译器用着真是各种扯淡

原文地址:https://www.cnblogs.com/rixiang/p/10107735.html