Visual Studio:忽略共享库中未定义的引用

问题描述 投票:0回答:1

我希望编译一个使用共享库的项目,但我无权访问原始库文件。不过,我有原始界面...

我基本上想要的就是让编译器进行符号名称修改等,这样我就不必手动调用 GetProcAddress...

然而,当我不链接共享库时,Visual Studio 会抱怨未定义的引用(废话)...使用 GNU LD,我可以使用“allow-shlib-undefined”,但不幸的是我必须使用 MSVC++...有类似的吗

编辑:

当然,我可以制作一个假(代理)dll,为我的界面中找到的所有方法创建存根,链接到它,然后加载原始 dll。我不知道这是否是最好的解决方案......

编辑2:

看起来我可以导出符号并生成一个 lib 文件: http://www.coderetard.com/2009/01/21/generate-a-lib-from-a-dll-with-visual-studio/

我会先尝试一下并报告。

visual-c++ dll linker shared-libraries
1个回答
3
投票

尝试调查“Edll for Windows”home)实施:

EnhancedDLL——拥有带有未定义符号的插件和库

它发现了 4 个克服 DLL 限制的解决方案:“通常的解决方案”“子 DLL 解决方案”“.def &.a 解决方案”“edll 解决方案”

© www.soinside.com 2019 - 2024. All rights reserved.