如何包含在可<cstring>可项目中

How to include <cstring> in a Cocoa project

本文关键字:gt 项目 cstring lt 何包含      更新时间:2023-10-16

我在让 xcode 查找特定头文件时遇到问题,即 cstring .

我的项目编译正确,直到我添加了一个新的库。该库oscpack由.h和.cpp文件组成。我将这些复制到我的项目中。其中一些文件包括cstring .现在当我尝试编译时,出现此错误:

Lexical or Preprocessor Issue
(...)/xcode4/osc/OscOutboundPacketStream.h:40:10: 'cstring' file not found

我是C++新手,对头文件位置仍然有点困惑。 有谁知道在我的系统上在哪里可以找到cstring,以及我应该如何告诉 xcode 在那里寻找它?

编辑

我运行了sudo find . -name "*cstring*"并找到了头文件。它在这里:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/c++/4.2.1/cstring

现在我如何告诉 XCode 在那里搜索?

编辑 2

我尝试将$(SDKROOT)/usr/include/c++/4.2.1添加到我的标题搜索路径中。我进入了一个痛苦的世界。抛出了数十个编译器错误,从这些开始。

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/c++/4.2.1/bits/c++config.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/c++/4.2.1/bits/c++config.h:153:1: Unknown type name 'namespace'
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/c++/4.2.1/bits/c++config.h:153:1: Expected ';' after top level declarator

><cstring>是一个C++标头。问题是你正在构建的文件包含它作为C或Objective-C而不是C++或Objective-C++?

oscpack 将自己描述为一个C++库,因此您需要在包含其标头的任何地方使用 C++。