我正在使用c / c ++为osx和linux开发命令行界面可执行文件。该项目将链接到opencv。我应该使用libc ++还是libstdc ++?
答案 0 :(得分:69)
我会为每个操作系统使用本机库,即GNU / Linux上的libstdc ++和Mac OS X上的libc ++。
libc ++在GNU / Linux上并非100%完成,当libstdc ++更完整时,使用它并没有什么好处。此外,如果你想链接到用C ++编写的任何其他库,它们几乎肯定是用libstdc ++构建的,所以你也需要链接它以使用它们。
有关各种平台上libc ++完整性的更多信息here。
答案 1 :(得分:28)
主要的Linux发行版不提供LLVM libc ++,因为:
如果最终libc ++成为发行版的一部分,它将作为可选组件。链接它可能需要额外的选项。
就像Jonathan所说,你应该使用默认包含的任何工具。 Clang在Linux中使用是安全的,因为它被配置为GCC替代品,所以在这方面你不必担心2个编译器。此外,由于您的目标是两个平台,因此您应该查看cmake。
答案 2 :(得分:-2)
据说libc ++在模板错误上有更多人类可读的错误消息。