Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile error of OgreD3D11RenderSystem.cpp in 32-bit MSVC #483

Closed
jwwalker opened this issue Dec 5, 2024 · 1 comment
Closed

Compile error of OgreD3D11RenderSystem.cpp in 32-bit MSVC #483

jwwalker opened this issue Dec 5, 2024 · 1 comment

Comments

@jwwalker
Copy link
Contributor

jwwalker commented Dec 5, 2024

System Information

  • Ogre Version: master branch commit [e68d105]
  • Operating System / Platform: Windows 11
  • RenderSystem: Direct3D11

Detailed description

I get a compile error:

2>D:\MoreCode\Ogre\ogre-next-fork\RenderSystems\Direct3D11\src\OgreD3D11RenderSystem.cpp(1764,65): error C2668: 'Ogre::StringConverter::toString': ambiguous call to overloaded function
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(117,23):
2>    could be 'Ogre::String Ogre::StringConverter::toString(bool,bool)'
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(112,23):
2>    or       'Ogre::String Ogre::StringConverter::toString(long,unsigned short,char,std::ios_base::fmtflags)'
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(109,23):
2>    or       'Ogre::String Ogre::StringConverter::toString(size_t,unsigned short,char,std::ios_base::fmtflags)'
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(105,23):
2>    or       'Ogre::String Ogre::StringConverter::toString(unsigned long,unsigned short,char,std::ios_base::fmtflags)'
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(91,23):
2>    or       'Ogre::String Ogre::StringConverter::toString(int,unsigned short,char,std::ios_base::fmtflags)'
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(75,23):
2>    or       'Ogre::String Ogre::StringConverter::toString(double,unsigned short,unsigned short,char,std::ios_base::fmtflags)'
2>    D:\MoreCode\Ogre\ogre-next-fork\OgreMain\include\OgreStringConverter.h(71,23):
2>    or       'Ogre::String Ogre::StringConverter::toString(float,unsigned short,unsigned short,char,std::ios_base::fmtflags)'
2>    D:\MoreCode\Ogre\ogre-next-fork\RenderSystems\Direct3D11\src\OgreD3D11RenderSystem.cpp(1764,65):
2>    while trying to match the argument list '(Ogre::uint64)'

I suppose the problem is that there is no version of StringConverter::toString that takes an unsigned 64-bit integer in this case. There are versions that take unsigned long and size_t, but both of those are 32 bits when MSVC compiles for 32-bit architecture.

@darksylinc
Copy link
Member

Fixed by #485

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants