当前位置:  开发笔记 > 编程语言 > 正文

使用MSVC强制符号导出

如何解决《使用MSVC强制符号导出》经验,为你挑选了0个好方法。

我有一个应用程序和DLL文件中的几个插件.插件通过导出库使用应用程序中的符号.应用程序链接在几个静态库中,这是大多数符号的来源.只要应用程序使用符号,这就可以正常工作.如果那里没有使用符号,我在编译DLL时会遇到链接器错误.

如何强制导出仅在插件中使用的符号?

为了触发导出,我尝试过这样的事情:

    class MyClassExporter
    {
        MyClass mInstance;
    public:
        MyClassExporter() {}
    };
    static MyClassExporter TheMyClassExporter;

在其中一个静态库中,应用程序由强制导出组成,这不起作用.

回应Greg(感谢答案)并澄清:我要强制导出的类是MyClass(已定义__declspec(...),具体取决于我想要导出或导入).MyClassExport是我试图强制将未使用的(就应用程序而言)符号包含在应用程序中.我想"触摸"符号,以便链接器将它们识别为已使用并将它们包含在应用程序中,以便它可以将这些符号导出到我的插件中.将静态库链接到插件不是一种选择,因为它们包含可复制的单例(app和DLL各自都有自己的静态变量副本).

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有