我正在做一个 C++ 项目。在我的
a.h
文件中的某处,我有以下代码行:
#include "object.hpp"
object.hpp
还包含许多标头,它们充满了现代 C++17 代码。我的 a.h
包含在我代码外某处的 extern "C"
块中。所以,我收到编译错误,如 - "Templates require C++ linkage"
.
所以,我试着用
extern "C++"
包含我的标题,但是这次我得到了Use of undeclared identifier
的编译错误。
extern "C++" {
#include "object.hpp"
}
我真的不能分享标题,因为它们又大又复杂。此外,即使我使用具有完整
C++
代码(没有C
代码和extern "C"
块)的不同项目,在extern“C++”中包围我的标题也会导致相同的错误。
我以为
extern "C++"
只是编译C++链接的代码。我错过了什么吗?