C++ 3rd 方库包含不存在的头文件?

Posted

技术标签:

【中文标题】C++ 3rd 方库包含不存在的头文件?【英文标题】:C++ 3rd party library includes non existing header file? 【发布时间】:2013-11-19 16:23:10 【问题描述】:

第一件事:我是 C/C++ 的新手。

我有一个必须包含的库,但它有使用的头文件

#include <string>

我尝试包含&lt;string&gt;,但失败了。我可以

#include <string.h>

虽然。由于它是我正在尝试使用的库,因此我对此导入无能为力吗?我该如何解决这个问题?构建因致命错误而终止。

(如果这很重要,我正在使用 Linux 并且 genicam 是第 3 方库)

【问题讨论】:

这是 C 还是 C++,它们是不同的语言,答案会因语言而异 - 我还建议查看教程,因为这将回答关于您应该使用哪个标头的问题 你在写 C 还是 C++?听起来您可能正在尝试在 C 程序中使用 C++ 库,但由于它们是不同的语言,因此无法使用。 (您通常可以使用 C++ 中的 C 库,但通常不能反过来使用)。如果您正在编写 C++,请确保您使用的是 C++ 编译器(例如 g++,而不是 gcc)。 【参考方案1】:

&lt;string&gt; 是标准 C++ 标头。要么你的编译器坏了,要么安装不正确,要么你试图在 C++ 代码上使用 C 编译器(例如使用 gcc 而不是 g++)。

【讨论】:

没有'C/C++'这样的语言,如果你的项目是C++,那么你应该使用g++。

以上是关于C++ 3rd 方库包含不存在的头文件?的主要内容,如果未能解决你的问题,请参考以下文章

链接 C++ 文件

c++关于multiset的头文件包含问题。

C++ 的头文件和源文件组织

c++ cout需要包含哪个头文件?

C++库的头文件到底如何包含的?

将未包含的头文件添加到 Visual Studio 项目中的最新检查