这是我只是盲目地接受并遵循“它的方式”的东西。我试图更深入地了解其背后的“原因”。
- 静态库 LibA - 使用一些 C 运行时调用
- 静态库 LibB - 利用一些 C 运行时调用
- 可执行应用程序 - 利用 LibA、LibB 和一些 C 运行时调用
这里有很好的记录,还有很多其他地方,所有传递给链接器的给定调用的模块都必须使用相同的运行时库编译器选项进行编译。
如果所有符号解析都是在此处和此处讨论的 App 的最终链接期间执行的,为什么会出现这种情况?为什么 LibA 和 LibB 在构建时甚至需要指定要使用的特定运行时库?他们使用的 C 运行时调用不应该只解决 App 为其链接指定的任何运行时调用吗?
这是其他 C 开发环境中的问题还是 Visual Studio 特有的问题?