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

时间:2011-01-27 17:19:12

标签: visual-c++ dll compiler-construction linker shared-libraries

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

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

然而,当我没有链接到共享库时,Visual Studio会抱怨未定义的引用(duh)....使用GNU LD我可以使用'allow-shlib-undefined'但不幸的是我必须使用MSVC ++。 ..有类似的东西吗?

编辑:

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

EDIT2:

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

我会先尝试并报告回来。

1 个答案:

答案 0 :(得分:3)

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

  

EnhancedDLL - 具有未定义符号的插件和库

它发现了4种解决DLL限制的解决方案:"The usual solution""The sub-DLL solution""The .def &.a solution""The edll solution"