Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. C2143

C2143

Scheduled Pinned Locked Moved C / C++ / MFC
helpquestionc++
19 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C CPallini

    I can't believe HelloWorld.h being a system header. BTW usually non-system headers includes (like #include "HelloWorld.h") follows the system ones. Your snippet shows the opposite. :)

    If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
    This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

    T Offline
    T Offline
    T RATHA KRISHNAN
    wrote on last edited by
    #8

    Not HelloWorld.h. It's globals.h.

    C 1 Reply Last reply
    0
    • T T RATHA KRISHNAN

      Not HelloWorld.h. It's globals.h.

      C Offline
      C Offline
      CPallini
      wrote on last edited by
      #9

      I was suggesting (the same toxcct did) to put #include "HelloWorld.h" at the end of your include list. Often problems originate in slightly different places with respect the one the misbehaviour shows up. :)

      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
      This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

      1 Reply Last reply
      0
      • T toxcct

        what happens if you #include "HelloWorld.h" after every other system includes ?

        [VisualCalc][Binary Guide][CommDialogs] | [Forums Guidelines]

        T Offline
        T Offline
        T RATHA KRISHNAN
        wrote on last edited by
        #10

        It gives me errors if I include after all the system files. d:\myprojects\myprojects\myprojects\helloworld.cpp(13) : error C2533: 'HelloWorld::{ctor}' : constructors not allowed a return type d:\myprojects\myprojects\myprojects\helloworld.cpp(65) : error C2264: 'HelloWorld::HelloWorld' : error in function definition or declaration; function not called

        C C 2 Replies Last reply
        0
        • T T RATHA KRISHNAN

          It gives me errors if I include after all the system files. d:\myprojects\myprojects\myprojects\helloworld.cpp(13) : error C2533: 'HelloWorld::{ctor}' : constructors not allowed a return type d:\myprojects\myprojects\myprojects\helloworld.cpp(65) : error C2264: 'HelloWorld::HelloWorld' : error in function definition or declaration; function not called

          C Offline
          C Offline
          CPallini
          wrote on last edited by
          #11

          Please post the code. :)

          If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
          This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

          T 1 Reply Last reply
          0
          • T T RATHA KRISHNAN

            It gives me errors if I include after all the system files. d:\myprojects\myprojects\myprojects\helloworld.cpp(13) : error C2533: 'HelloWorld::{ctor}' : constructors not allowed a return type d:\myprojects\myprojects\myprojects\helloworld.cpp(65) : error C2264: 'HelloWorld::HelloWorld' : error in function definition or declaration; function not called

            C Offline
            C Offline
            Cedric Moonen
            wrote on last edited by
            #12

            Then it probably means you have errors in that file. Post some code (and please, use the code block tags).

            Cédric Moonen Software developer
            Charting control [v1.4]

            T 1 Reply Last reply
            0
            • C Cedric Moonen

              Then it probably means you have errors in that file. Post some code (and please, use the code block tags).

              Cédric Moonen Software developer
              Charting control [v1.4]

              T Offline
              T Offline
              T RATHA KRISHNAN
              wrote on last edited by
              #13

              Here is the complete listing.

              #include "HelloWorld.h"
              #include <dtCore/globals.h>
              #include <dtCore/object.h>
              #include <dtCore/orbitmotionmodel.h>
              #include <dtCore/scene.h>
              #include <osgDB/FileUtils>
              #include <dtCore/dt.h>
              #include <dtABC/application.h>
              #include <dtCore/deltawin.h>

              HelloWorld::HelloWorld(const std::string& configFilename):dtABC::Application(configFilename),mText(0),mOrbitMotionModel(0)
              {
              // Generating a default config file if the one passed in is not there.

              if(osgDB::findDataFile(configFilename).empty())
              

              {
              GenerateDefaultConfigFile();
              }
              }
              HelloWorld::~HelloWorld()
              {
              }

              void HelloWorld::Config()
              {
              // Allocate a dtCore::Object. This class will be your basic container
              // for 3D meshes.
              mText = new dtCore::Object("Text");
              // Load the model file, in this case a OpenFligth model (.flt)
              mText->LoadFile("HelloWorld.flt");
              // Add the Object to the scene. Since mText is a RefPtr, we must
              // pull the internal point out to pass it to the Scene.
              GetScene()->AddDrawable( mText.get() );
              // Adjust the Camera position by instantiating a transform object to
              // store the camera position and attitude.
              dtCore:: Transform camPos;
              camPos.SetLookAt( 0.0f, -100.0f, 20.0f, // Position
              0.0f, 0.0f, 0.0f, // Look At
              0.0f, 0.0f, 1.0f); // Up Vector
              GetCamera()->SetTransform(camPos);
              // Setting a motion model for the camera

              mOrbitMotionModel = new dtCore::OrbitMotionModel(GetKeyboard(),GetMouse());

              // Setting the camera as a target for the motion model. The object (the hello
              // world 3D text) will be static at 0,0,0 and the camera will move using
              // the right clicked mouse.
              mOrbitMotionModel->SetTarget(GetCamera());
              }

              int main()
              {
              // Setup the data file search paths for the config file and the models files.
              // This is best done in main prior to configuring app. That way the paths
              // are ensured to be correct when loading data.
              dtCore::SetDataFilePathList( ".;" + dtCore::GetDeltaDataPathList());

              // Instantiate the application and look for the config file
              // You do not have to call delete on this.
              dtCore::RefPtr<HelloWorld> app = new HelloWorld( "config.xml" );
              // Configure the application
              app->Config();
              // Run the simulation loop
              app->Run();

              return 0;
              

              }

              1 Reply Last reply
              0
              • C CPallini

                Please post the code. :)

                If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

                T Offline
                T Offline
                T RATHA KRISHNAN
                wrote on last edited by
                #14

                Here is the code.

                #include "HelloWorld.h"
                #include <dtCore/globals.h>
                #include <dtCore/object.h>
                #include <dtCore/orbitmotionmodel.h>
                #include <dtCore/scene.h>
                #include <osgDB/FileUtils>
                #include <dtCore/dt.h>
                #include <dtABC/application.h>
                #include <dtCore/deltawin.h>

                HelloWorld::HelloWorld(const std::string& configFilename):dtABC::Application(configFilename),mText(0),mOrbitMotionModel(0)
                {
                // Generating a default config file if the one passed in is not there.

                if(osgDB::findDataFile(configFilename).empty())
                

                {
                GenerateDefaultConfigFile();
                }
                }
                HelloWorld::~HelloWorld()
                {
                }

                void HelloWorld::Config()
                {
                // Allocate a dtCore::Object. This class will be your basic container
                // for 3D meshes.
                mText = new dtCore::Object("Text");
                // Load the model file, in this case a OpenFligth model (.flt)
                mText->LoadFile("HelloWorld.flt");
                // Add the Object to the scene. Since mText is a RefPtr, we must
                // pull the internal point out to pass it to the Scene.
                GetScene()->AddDrawable( mText.get() );
                // Adjust the Camera position by instantiating a transform object to
                // store the camera position and attitude.
                dtCore:: Transform camPos;
                camPos.SetLookAt( 0.0f, -100.0f, 20.0f, // Position
                0.0f, 0.0f, 0.0f, // Look At
                0.0f, 0.0f, 1.0f); // Up Vector
                GetCamera()->SetTransform(camPos);
                // Setting a motion model for the camera

                mOrbitMotionModel = new dtCore::OrbitMotionModel(GetKeyboard(),GetMouse());

                // Setting the camera as a target for the motion model. The object (the hello
                // world 3D text) will be static at 0,0,0 and the camera will move using
                // the right clicked mouse.
                mOrbitMotionModel->SetTarget(GetCamera());
                }

                int main()
                {
                // Setup the data file search paths for the config file and the models files.
                // This is best done in main prior to configuring app. That way the paths
                // are ensured to be correct when loading data.
                dtCore::SetDataFilePathList( ".;" + dtCore::GetDeltaDataPathList());

                // Instantiate the application and look for the config file
                // You do not have to call delete on this.
                dtCore::RefPtr<HelloWorld> app = new HelloWorld( "config.xml" );
                // Configure the application
                app->Config();
                // Run the simulation loop
                app->Run();

                return 0;
                

                }

                C 1 Reply Last reply
                0
                • T T RATHA KRISHNAN

                  Here is the code.

                  #include "HelloWorld.h"
                  #include <dtCore/globals.h>
                  #include <dtCore/object.h>
                  #include <dtCore/orbitmotionmodel.h>
                  #include <dtCore/scene.h>
                  #include <osgDB/FileUtils>
                  #include <dtCore/dt.h>
                  #include <dtABC/application.h>
                  #include <dtCore/deltawin.h>

                  HelloWorld::HelloWorld(const std::string& configFilename):dtABC::Application(configFilename),mText(0),mOrbitMotionModel(0)
                  {
                  // Generating a default config file if the one passed in is not there.

                  if(osgDB::findDataFile(configFilename).empty())
                  

                  {
                  GenerateDefaultConfigFile();
                  }
                  }
                  HelloWorld::~HelloWorld()
                  {
                  }

                  void HelloWorld::Config()
                  {
                  // Allocate a dtCore::Object. This class will be your basic container
                  // for 3D meshes.
                  mText = new dtCore::Object("Text");
                  // Load the model file, in this case a OpenFligth model (.flt)
                  mText->LoadFile("HelloWorld.flt");
                  // Add the Object to the scene. Since mText is a RefPtr, we must
                  // pull the internal point out to pass it to the Scene.
                  GetScene()->AddDrawable( mText.get() );
                  // Adjust the Camera position by instantiating a transform object to
                  // store the camera position and attitude.
                  dtCore:: Transform camPos;
                  camPos.SetLookAt( 0.0f, -100.0f, 20.0f, // Position
                  0.0f, 0.0f, 0.0f, // Look At
                  0.0f, 0.0f, 1.0f); // Up Vector
                  GetCamera()->SetTransform(camPos);
                  // Setting a motion model for the camera

                  mOrbitMotionModel = new dtCore::OrbitMotionModel(GetKeyboard(),GetMouse());

                  // Setting the camera as a target for the motion model. The object (the hello
                  // world 3D text) will be static at 0,0,0 and the camera will move using
                  // the right clicked mouse.
                  mOrbitMotionModel->SetTarget(GetCamera());
                  }

                  int main()
                  {
                  // Setup the data file search paths for the config file and the models files.
                  // This is best done in main prior to configuring app. That way the paths
                  // are ensured to be correct when loading data.
                  dtCore::SetDataFilePathList( ".;" + dtCore::GetDeltaDataPathList());

                  // Instantiate the application and look for the config file
                  // You do not have to call delete on this.
                  dtCore::RefPtr<HelloWorld> app = new HelloWorld( "config.xml" );
                  // Configure the application
                  app->Config();
                  // Run the simulation loop
                  app->Run();

                  return 0;
                  

                  }

                  C Offline
                  C Offline
                  CPallini
                  wrote on last edited by
                  #15

                  And the HelloWorld.h code?

                  If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                  This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

                  T 1 Reply Last reply
                  0
                  • C CPallini

                    And the HelloWorld.h code?

                    If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                    This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

                    T Offline
                    T Offline
                    T RATHA KRISHNAN
                    wrote on last edited by
                    #16

                    #include <dtABC/application.h>
                    #include <dtCore/refptr.h>

                    // Forward declarations to keep compile-time down
                    namespace dtCore
                    {
                    class Object;
                    class OrbitMotionModel;
                    }

                    class HelloWorld: public dtABC::Application
                    {
                    public:
                    HelloWorld(const std::string &configFilename);

                    protected:
                    // Destructors for subclasses of dtCore::Base must have a protected
                    // destructor. Otherwise use of RefPtrs will cause some serious
                    // problems if the objects are allocated on the stack.

                     virtual ~HelloWorld();
                    

                    public:
                    // Override this function to setup your scene.

                     virtual void Config();
                    

                    private:
                    // dtCore::RefPtr is a template for a smart pointer that takes
                    // care of reference counting for objects allocated on the heap.
                    // It is good practice to store all objects that derive from
                    // dtCore::Base inside a RefPtr.

                     dtCore::RefPtr<dtCore::Object> mText;
                     dtCore::RefPtr<dtCore::OrbitMotionModel> mOrbitMotionModel;
                    

                    }

                    C S 2 Replies Last reply
                    0
                    • T T RATHA KRISHNAN

                      #include <dtABC/application.h>
                      #include <dtCore/refptr.h>

                      // Forward declarations to keep compile-time down
                      namespace dtCore
                      {
                      class Object;
                      class OrbitMotionModel;
                      }

                      class HelloWorld: public dtABC::Application
                      {
                      public:
                      HelloWorld(const std::string &configFilename);

                      protected:
                      // Destructors for subclasses of dtCore::Base must have a protected
                      // destructor. Otherwise use of RefPtrs will cause some serious
                      // problems if the objects are allocated on the stack.

                       virtual ~HelloWorld();
                      

                      public:
                      // Override this function to setup your scene.

                       virtual void Config();
                      

                      private:
                      // dtCore::RefPtr is a template for a smart pointer that takes
                      // care of reference counting for objects allocated on the heap.
                      // It is good practice to store all objects that derive from
                      // dtCore::Base inside a RefPtr.

                       dtCore::RefPtr<dtCore::Object> mText;
                       dtCore::RefPtr<dtCore::OrbitMotionModel> mOrbitMotionModel;
                      

                      }

                      C Offline
                      C Offline
                      CPallini
                      wrote on last edited by
                      #17

                      Well, I cannot spot the error. The code seems OK. Anyway, I insist, the right place for #include "HelloWorld.h" is at the bottom of the list. :)

                      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                      This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke

                      1 Reply Last reply
                      0
                      • T T RATHA KRISHNAN

                        I didn't miss any ';' at all. Infact it's system(Simulation Engine's) file. What to do? Here is the complete code for globals.h.

                        #ifndef DELTA_GLOBALS
                        #define DELTA_GLOBALS

                        #include <string>

                        #include <dtCore/export.h>

                        namespace dtCore
                        {
                        /// Set the list of data file paths
                        DT_CORE_EXPORT void SetDataFilePathList( const std::string& pathList );

                        /// Get the list of data file paths
                        DT_CORE_EXPORT std::string GetDataFilePathList();

                        /// Get the Delta Data path list (equivalent to the DELTA_DATA environment)
                        DT_CORE_EXPORT std::string GetDeltaDataPathList();

                        /// Get the root path to Delta3D (equivalent to the DELTA_ROOT environment)
                        DT_CORE_EXPORT std::string GetDeltaRootPath();

                        /// Convienence method to get the supplied environment variable
                        DT_CORE_EXPORT std::string GetEnvironment(const std::string& env );

                          DT\_CORE\_EXPORT void SetEnvironment(const std::string& name, const std::string& value);
                        
                         DT\_CORE\_EXPORT std::string FindFileInPathList(const std::string &fileName);
                        

                        }

                        #endif //DELTA_GLOBALS

                        D Offline
                        D Offline
                        David Crow
                        wrote on last edited by
                        #18

                        Where is line 29 at? That's the one that eventually caused the compiler to complain?

                        "Love people and use things, not love things and use people." - Unknown

                        "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

                        1 Reply Last reply
                        0
                        • T T RATHA KRISHNAN

                          #include <dtABC/application.h>
                          #include <dtCore/refptr.h>

                          // Forward declarations to keep compile-time down
                          namespace dtCore
                          {
                          class Object;
                          class OrbitMotionModel;
                          }

                          class HelloWorld: public dtABC::Application
                          {
                          public:
                          HelloWorld(const std::string &configFilename);

                          protected:
                          // Destructors for subclasses of dtCore::Base must have a protected
                          // destructor. Otherwise use of RefPtrs will cause some serious
                          // problems if the objects are allocated on the stack.

                           virtual ~HelloWorld();
                          

                          public:
                          // Override this function to setup your scene.

                           virtual void Config();
                          

                          private:
                          // dtCore::RefPtr is a template for a smart pointer that takes
                          // care of reference counting for objects allocated on the heap.
                          // It is good practice to store all objects that derive from
                          // dtCore::Base inside a RefPtr.

                           dtCore::RefPtr<dtCore::Object> mText;
                           dtCore::RefPtr<dtCore::OrbitMotionModel> mOrbitMotionModel;
                          

                          }

                          S Offline
                          S Offline
                          super_ttd
                          wrote on last edited by
                          #19

                          you're missing a ; after the closing } of the class definition. a class definition is like this :

                          class C {
                          //...
                          }**;**


                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups