Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使.dll从它所依赖的.lib导出符号_C++_Windows - Fatal编程技术网

C++ 如何使.dll从它所依赖的.lib导出符号

C++ 如何使.dll从它所依赖的.lib导出符号,c++,windows,C++,Windows,我的项目结构如下: exe | dll | _______________________ | | | lib1.lib lib2.lib ... libn.lib 问题:我需要使.dll从链接到此.dll的.libs中导出.exe所需的一些符号\u declspec(dllexport)对静态库没有影响。如

我的项目结构如下:

               exe
                |
               dll
                |
     _______________________
    |           |           |
lib1.lib  lib2.lib  ...  libn.lib
问题:我需要使.dll从链接到此.dll的.libs中导出.exe所需的一些符号<代码>\u declspec(dllexport)对静态库没有影响。如何做到这一点


理想情况下,我还希望选择需要从这些.libs导出的类,而不是导出所有内容。

静态库在模块内链接(DLL、EXE)。静态库不是模块的“子级”。@MariusBancila:是的。我需要一个静态库链接到一个.dll,而该.dll必须从.libs导出一些类。我不确定它是否能工作,但你是否尝试过编写DEF文件?@rodrigo:我正在研究它。显然,我无法手工编写它,因为代码太多(另外,添加新导出类后的构建过程必须自动化)。使用u declspec(dllexport)可以从DLL导出.lib中的类。常见的问题是,如果没有给链接器足够的理由来包含.lib中的代码,则必须使用/include选项。非常难看,因为名称有误,而且不比def文件好。或者在DLL项目的一个源文件中编写一些伪代码,显式引用类成员,以便链接器将其引入。也很难看,但它不一定是可执行代码。