我有一个Visual Studio 2019 DLL项目,我想静态链接一个库。当我在DLL中使用静态库中的符号时,它会正确构建。但是,当我将动态库项目链接到可执行应用程序时,该应用程序会出现未解决的外部符号错误。我是否也必须将静态库与应用程序链接起来?
DLL
是一个二进制文件,类似于EXE
文件,因此当您将其链接到静态库时,必须满足所有依赖项。链接到这个动态库的EXE
文件不知道它的任何内部,比如某个静态库的符号,因此不应该因为静态库而有任何未解析的符号。
唯一的方法是,将EXE
也链接到静态库,并使用其中的一些符号,但这与DLL
无关。
所以不需要,除非你在EXE
文件中使用静态库中的东西,否则你不需要链接它