我希望编译一个使用共享库的项目,但是我无法访问原始的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/
我会先尝试并报告回来。
答案 0 :(得分:3)
尝试调查"Edll for Windows"(home)实施:
EnhancedDLL - 具有未定义符号的插件和库
它发现了4种解决DLL限制的解决方案:"The usual solution","The sub-DLL solution","The .def &.a solution"和"The edll solution"。