Coder Social home page Coder Social logo

[OGRE-206] Hide threading header about ogre HOT 9 CLOSED

ogrecave avatar ogrecave commented on May 16, 2024
[OGRE-206] Hide threading header

from ogre.

Comments (9)

paroj avatar paroj commented on May 16, 2024

[author="masterfalcon", created="Fri, 14 Jun 2013 22:47:33 +0200"]

Does this resolve the issue for you?

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="ogre.transporter", created="Sat, 15 Jun 2013 10:50:00 +0200"]

No:

OgrePaging:
OgreAtomicWrappers.h(119): error C2143: Syntaxfehler: Es fehlt ';' vor 'volatile'

RenderSystem_Direct3D9:
OgreD3D9Resource.h(73): error C2061: Syntaxfehler: Bezeichner 'msDeviceAccessMutex'
OgreD3D9Resource.h(74): error C2143: Syntaxfehler: Es fehlt ';' vor '}'
OgreD3D9Resource.h(74): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
OgreD3D9ResourceManager.h(116): error C2061: Syntaxfehler: Bezeichner 'mResourcesMutex'
OgreD3D9ResourceManager.h(117): error C3646: "ResourceContainer": Unbekannter Überschreibungsspezifizierer
OgreD3D9ResourceManager.h(117): error C3646: "mResources": Unbekannter Überschreibungsspezifizierer
OgreD3D9ResourceManager.h(117): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
OgreD3D9ResourceManager.cpp(64): error C2065: 'mResourcesMutex': nichtdeklarierter Bezeichner
OgreD3D9ResourceManager.cpp(66): error C2065: 'mResources': nichtdeklarierter Bezeichner
OgreD3D9ResourceManager.cpp(66): error C2228: Links von ".begin" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
OgreD3D9ResourceManager.cpp(67): error C2065: 'mResources': nichtdeklarierter Bezeichner
OgreD3D9ResourceManager.cpp(67): error C2228: Links von ".end" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''
OgreD3D9ResourceManager.cpp(67): fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
OgreD3D9Resource.cpp(34): error C2039: 'msDeviceAccessMutex': Ist kein Element von 'Ogre::D3D9Resource'
E:\ogre-test\RenderSystems\Direct3D9\include\OgreD3D9Resource.h(40): Siehe Deklaration von 'Ogre::D3D9Resource'

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="masterfalcon", created="Sat, 15 Jun 2013 18:47:04 +0200"]

With the exception of build errors, does it resolve the core issue of header inclusion?

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="ogre.transporter", created="Sat, 15 Jun 2013 22:57:39 +0200"]

No. Thanks for your effort! I've rebuilt Ogre without paging and DX9 succesfully. But there are more threading includes like

Ogre.h -> OgreArchive.h -> OgreSharedPtr.h -> Threading/OgreThreadHeaders.h -> Threading/OgreThreadHeadersBoost.h -> BOOST

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="masterfalcon", created="Sun, 16 Jun 2013 03:41:29 +0200"]

See, the problem there is that OgreSharedPtr.h and also OgreLog.h both use mutexes in their headers and need the thread defines, which in turn need the types that they are defining. I don't see any way around it at the moment. Do you have any ideas?

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="ogre.transporter", created="Sun, 16 Jun 2013 12:48:05 +0200"]

You're right, this is a large problem. I think the only way is creating a mutex object which is wrapping the real mutex in code without loading boost through ist header file. Maybe we can collect additional suggestions in the forum.

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="masterfalcon", created="Sun, 23 Jun 2013 07:32:28 +0200"]

Thanks to the work with OGRE-211, I was able to make some changes to make this a little better. Not perfect but hopefully an improvement.

from ogre.

paroj avatar paroj commented on May 16, 2024

[author="ogre.transporter", created="Fri, 24 Jul 2015 08:46:41 +0200"]

A complete threading wrapper is required to hide boost/tbb headers from ogre include files.

from ogre.

paroj avatar paroj commented on May 16, 2024

the preferred threading path is now std::thread - while not really solving the issue at hand, it makes it much less critical

from ogre.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.