...,对此的跟进。
从我对引用问题的回答中,我了解到:
- 不同的编译器使用不同的名称修饰,这使得在使用编译器 B 构建的项目中无法使用使用编译器 A 构建的 C++ 动态库,
- 该库可以构建为静态库,包括项目中的 n 个头文件和源文件或导出符号。(它仍然不会保存重建库以用于不同的编译器。)
根据上述内容仔细查看 SDL,我意识到它的链接有两层:在我的 SDL 项目中,我静态链接到 libSDL.a,而 libSDL.a 又将动态链接到 SDL。 dll,从而消除了不同编译器对不同 .dll 版本的需求。
问题是这是否真的是这种情况以及问题的可行解决方案,还是我错过了什么(以及什么)?