选哪个Visual C / C ++运行时库?

时间:2016-11-11 12:43:14

标签: c++ linker sdl msvcrt

在连接或运行用C或C ++编写的应用程序时,我偶然发现了错误的MSVC运行时问题。因此,我尝试使用正确的版本。

我看到SDL(Simple DirectMedia Layer)库是用MSVCRT预编译的,AFAIK是用MSVC 4.2到6.0编译的。尽管如此,预编译的库可以正常使用我的应用程序使用后来的Visual Studio 2015 v14编译。

  1. 如何将旧的MSVCRT与MSVCR140连接起来没有问题,例如: SDL?
  2. 有没有办法让库与任何更大的Visual Studio编译器兼容?
  3. 如何使用其他编译器解决此问题,例如: GCC甚至在Linux或Mac上?

1 个答案:

答案 0 :(得分:1)

  1. 因为,让他们称之为年份,运行时间被广泛使用,他们总是在那里。但是,较新的Visual C ++使用的更新的运行时可能不会自动出现。此外,Visual C ++在单个运行时库上标准化了一段时间,确保了与现有应用程序的向后兼容性。在Visual Studio 2012的某个地方,这被删除,转而支持版本特定的运行时。

  2. 您需要将应用程序打包到安装程序中,该安装程序还会安装必要的运行时(如果需要多个运行时,则需要运行时)。

  3. Linux应用程序打包(RPM,YUM等),依赖于运行时组件。 Basicaly与Windows安装程序相同。依赖性是包的一部分或由发行版满足。 Linux共享库是版本化的,可以并排安装多个版本,如果需要,应用程序可以链接特定版本。

相关问题