标题:vs2022的显式链接问题,大佬们帮忙看看
只看楼主
鱼头豆腐汤
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2020-10-21
结帖率:100%
已结贴  问题点数:15 回复次数:4 
vs2022的显式链接问题,大佬们帮忙看看
把dll文件已经置于项目文件的目录下面。
在项目的链接器的附加依赖项中也添加了dll文件。
项目编译时出现链接器LNK1107错误,找了很多地方都没有找到解决办法。
第一个帖子把dll的声明写错了,重新发一个帖子,顺便请问大家怎么删发错的帖子啊。

dll的声明
extern "C" _declspec(dllexport) void Wuhu();

dll的内容
程序代码:
void Wuhu() 
{
    printf("niubi");
}



项目文件中显式调用dll
程序代码:
typedef void(*pWuhu)();
int main()
{
    pWuhu myWuhu;
    HINSTANCE hMODULE = LoadLibrary(L"Dll2.dll");
    myWuhu = (pWuhu)GetProcAddress(hMODULE, "Wuhu");
    myWuhu();
    return 0;
}

错误信息
搜索更多相关主题的帖子: 项目 dll 链接 void 文件 
2023-04-27 12:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
把dll文件已经置于项目文件的目录下面
哪个下面?你应该将dll放在exe的GetCurrentDirectory下面

项目编译时出现链接器LNK1107错误
你用的是 LoadLibrary 呀,顶多会在运行时出错,而不是编译链接期出错。
难道又隐式link了这个dll,并且把dll链接进去了?(应该链接lib文件)
2023-04-27 14:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
_declspec(dllexport)
改试试
__declspec(dllexport)
2023-04-27 14:22
鱼头豆腐汤
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2020-10-21
得分:0 
回复 2楼 rjsp
感谢大佬,解决了。我删除了链接器的附加依赖项中的dll,只保留项目目录下的dll文件,运行成功。就是附加依赖项中添加dll,导致隐式link了这个dll文件,显式链接时出现链接器错误。
2023-04-27 16:43
鱼头豆腐汤
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2020-10-21
得分:0 
回复 3楼 吹水佬
感谢大佬,解决了。我删除了链接器的附加依赖项中的dll,只保留项目目录下的dll文件,运行成功。就是附加依赖项中添加dll,导致隐式link了这个dll文件,显式链接时出现链接器错误。
2023-04-27 16:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-512060-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.979142 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved