extern "C"
{
#endif
#include <stdint.h>
#include <limits.h>
#include "attributes.h"
}
#endif
我添加了extern "C" { }
然后我收到C2059 string
错误
所以我尝试使用#endif
,现在又有4个错误。
Error 1 error C2059: syntax error : 'string' d:\c-sharp\c++
compiling\consoleapplication7\consoleapplication7\libavutil\rational.h 31 1
ConsoleApplication7
如何修复此字符串错误?
答案 0 :(得分:17)
猜测,您是否在C源文件中包含此代码?
只有C ++需要(或理解) extern "C" {
防护。您可以从C文件中省略它们,应该将它们包含在C ++文件中,并且应该在头文件中使用__cplusplus
ifdef来保护它们。
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <limits.h>
#include "attributes.h"
#ifdef __cplusplus
}
#endif