C++ 对libcinder使用未声明的标识符

C++ 对libcinder使用未声明的标识符,c++,undeclared-identifier,osc,cinder,C++,Undeclared Identifier,Osc,Cinder,我一直在做这个,直到Xcode因为。。。嗯,我不知道。在我看来,这一定是一些新手失误的结果,但我真的看不出来 它吐出的错误正是 In file included from /Users/af6539/src/SecondStudy/xcode/../src/TouchPoint.cpp:1: In file included from /Users/af6539/src/SecondStudy/xcode/../include/TouchPoint.h:4: /Users/af6539/src/

我一直在做这个,直到Xcode因为。。。嗯,我不知道。在我看来,这一定是一些新手失误的结果,但我真的看不出来

它吐出的错误正是

In file included from /Users/af6539/src/SecondStudy/xcode/../src/TouchPoint.cpp:1:
In file included from /Users/af6539/src/SecondStudy/xcode/../include/TouchPoint.h:4:
/Users/af6539/src/SecondStudy/xcode/../../cinder_0.8.5_mac/blocks/TUIO/include/TuioCursor.h:51:44: error: use of undeclared identifier 'osc'
    static Cursor createFromSetMessage( const osc::Message &message ) {
                                              ^
/Users/af6539/src/SecondStudy/xcode/../../cinder_0.8.5_mac/blocks/TUIO/include/TuioCursor.h:87:47: error: use of undeclared identifier 'osc'
    static Cursor25d createFromSetMessage( const osc::Message &message ) {
                                                 ^

指的是我正在使用的图书馆,cinder,包括TUIO和OSC。正如我所说的,它正在发挥作用,然后我认为当我开始从事整个MusicStroke*业务时,一切都开始变得糟糕,所以这些文件可能会提供一些线索?如果他们这样做了,我就看不到他们。

我的第一个建议是回滚到以前的提交,直到您能够成功构建。我还将删除构建目录(或者,如果您没有使用相对的“派生数据”路径,则无论共享文件夹是什么),因为您看到的一个可能的解释是,编译代码的缓存版本没有显示错误,但随后它突然失效


如果我不得不猜测,没有任何示例代码,只是简单地浏览了一下您的项目,我确实会说这是因为一个循环包含。尝试从.cpp中转发和声明您可以包含的内容。例如,MusicStrokeGesture.h中的TouchTrace可以被前向声明…

您没有丢失头文件
#include
?osc::Message声明在哪里?@Joachim如果有什么,我包含的头文件太多了。我会仔细检查一下,以确保我没有拿到戒指,但“布拉格曾经”应该会处理好这件事。正如我所说,他们来自第三方图书馆cinder。您可以从他们的网站上获得源代码,这里定义了osc::Message。