c++ - Nested namespace can't be found in spite of including header file -


i have 2 projects, 1 sample (which compiles without error) , looks (first few lines shown only):

working example

#include "cinder/app/app.h" #include "cinder/app/renderergl.h" #include "cinder/surface.h" #include "cinder/gl/gl.h" #include "cinder/gl/texture.h" #include "cinder/rand.h" #include "cinder/qtime/quicktimegl.h"  using namespace ci; using namespace ci::app; using namespace std;  class qtimeadvapp : public app {   public:     void preparesettings( settings *settings );     void setup();      void keydown( keyevent event );     void filedrop( filedropevent event );      void update();     void draw();      void addactivemovie( qtime::movieglref movie );     void loadmovieurl( const std::string &urlstring );     void loadmoviefile( const fs::path &path );  }; 

note line: void addactivemovie( qtime::movieglref movie );

the other project, needs make use of same library (quicktime opengl within libcinder), tries similar - 1 again extract:

use in project

#pragma once  #include "abstractcontent.h" #include "cinder/gl/texture.h" #include "cinder/tween.h" #include "abstracttransition.h" #include "cinder/qtime/quicktimegl.h"  namespace th {      class videocontent : public abstractcontent {     public:         videocontent();         ~videocontent();         virtual void setup();         void loadmovie(ci::url url);         void loadlocalmovie(ci::fs::path path);         void setpreloadedmovie(ci::qtime::movieglref movie); 

this 1 throws compiler error: no member named 'qtime' in namespace 'cinder'

notice again virtually identical line: void setpreloadedmovie(ci::qtime::movieglref movie); in fact, can use full qualified name ci:qtime:movieglref in first example , compiles fine (as expected).

what on earth going on here? why "use in project" version throw compiler error: no member named 'qtime' in namespace 'cinder'?

just clarity, quicktimegl.h file in turn includes file declares namespace , type def:

namespace cinder { namespace qtime {  typedef std::shared_ptr<class moviegl>  movieglref; 

am missing something? i'm pretty sure i'm including correct header file, before, , trying use qualified namespace still compiler doesn't find definition?

have tried referencing global namespace, ::ci::qtime rather ci::qtime? should not make difference, c++ compilers trip on these kind of things.


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -