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

[imgui-sfml] include failure #21530

Closed
copyrat90 opened this issue Nov 19, 2021 · 17 comments · Fixed by #21871
Closed

[imgui-sfml] include failure #21530

copyrat90 opened this issue Nov 19, 2021 · 17 comments · Fixed by #21871
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@copyrat90
Copy link

copyrat90 commented Nov 19, 2021

Host Environment

  • OS: Windows 10 / Ubuntu 20.04
  • Compiler: MSVC 19.29.30137(x64) / g++ 9.3

To Reproduce
./vcpkg install imgui-sfml

Small snippet to reproduce the linker error.

#include <SFML/Graphics/RenderWindow.hpp>
#include <imgui-SFML.h>
#include <imgui.h>

int main()
{
    sf::RenderWindow window(sf::VideoMode(640, 480), "Test window");
    ImGui::SFML::Init(window);
    ImGui::SFML::Shutdown();
}

(Also, manifest mode projects give the same errors.)

Failure logs

# MSVC classic mode project
1>------ Build started: Project: ConsoleApplication2, Configuration: Debug x64 ------
1>ConsoleApplication2.cpp
1>ImGui-SFML.lib(imgui-SFML.cpp.obj) : error LNK2019: unresolved external symbol "void __cdecl ImGui::Image(unsigned int,struct ImVec2 const &,struct ImVec2 const &,struct ImVec2 const &,struct ImVec4 const &,struct ImVec4 const &)" (?Image@ImGui@@YAXIAEBUImVec2@@00AEBUImVec4@@1@Z) referenced in function "void __cdecl ImGui::Image(class sf::Texture const &,class sf::Vector2<float> const &,class sf::Color const &,class sf::Color const &)" (?Image@ImGui@@YAXAEBVTexture@sf@@AEBV?$Vector2@M@3@AEBVColor@3@2@Z)
1>ImGui-SFML.lib(imgui-SFML.cpp.obj) : error LNK2019: unresolved external symbol "bool __cdecl ImGui::ImageButton(unsigned int,struct ImVec2 const &,struct ImVec2 const &,struct ImVec2 const &,int,struct ImVec4 const &,struct ImVec4 const &)" (?ImageButton@ImGui@@YA_NIAEBUImVec2@@00HAEBUImVec4@@1@Z) referenced in function "bool __cdecl ImGui::ImageButton(class sf::Texture const &,class sf::Vector2<float> const &,int,class sf::Color const &,class sf::Color const &)" (?ImageButton@ImGui@@YA_NAEBVTexture@sf@@AEBV?$Vector2@M@3@HAEBVColor@3@2@Z)
1>C:\Users\Home\source\repos\ConsoleApplication2\x64\Debug\ConsoleApplication2.exe : fatal error LNK1120: 2 unresolved externals
1>Done building project "ConsoleApplication2.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Additional context
v2.3 port worked fine, but as soon as I updated vcpkg to use the v2.4 port, this error pops up.
Probably something is broken in the v2.4 port update(#21460)?

@JackBoosY JackBoosY assigned LilyWangLL and unassigned JackBoosY Nov 19, 2021
@LilyWangLL LilyWangLL added the requires:repro The issue is not currently repro-able label Nov 19, 2021
@LilyWangLL
Copy link
Contributor

Thanks for your issue, I will test this issue locally.

@caladil
Copy link

caladil commented Nov 25, 2021

Seeing the exact same missing symbols on Windows 11 with the Visual Studio 2022 (v143) toolset. imgui-sfml v2.4 and imgui v1.85 are installed via vcpkg.

The only minor difference between the code above and mine is that I'm including imgui.h and imgui-SFML.h before I include SFML/Graphics.hpp.

@JackBoosY
Copy link
Contributor

This issue can be reproduced and I need to check the symbol declarations.

@LilyWangLL LilyWangLL added category:port-bug The issue is with a library, which is something the port should already support and removed requires:repro The issue is not currently repro-able labels Nov 26, 2021
@JackBoosY
Copy link
Contributor

JackBoosY commented Nov 26, 2021

The reason why these symbols are not found is because the definitions of ImTextureID in imgui and imgui-sfml are different.
In imgui, since we use the default configuration, ImTextureID is void* in imgui.h:

#ifndef ImTextureID
typedef void* ImTextureID;          // Default: store a pointer or an integer fitting in a pointer (most renderer backends are ok with that)
#endif

However, in imgui-sfml, it's redefined with unsigned int in imconfig-SFML.h:

#define ImTextureID unsigned int

Therefore, the symbol that imgui-sfml expects to find changes from YA_NPEAXAEBUImVec2@@11HAEBUImVec4@@2@Z to YA_NAEBVTexture@sf@@AEBV?$Vector2@M@3@HAEBVColor@3@2@Z.

Since imgui officially still does not accept cmake buildsystem, the value of ImTextureID should be set according to the current architecture. I think the only way is to add a new feature to imgui to specify this value?
Here is the official comments:

// Important: to compile on 32-bit systems, this backend requires code to be compiled with '#define ImTextureID ImU64'.
// This is because we need ImTextureID to carry a 64-bit value and by default ImTextureID is defined as void*.
// To build this on 32-bit systems:
// - [Solution 1] IDE/msbuild: in "Properties/C++/Preprocessor Definitions" add 'ImTextureID=ImU64' (this is what we do in the 'example_win32_direct12/example_win32_direct12.vcxproj' project file)
// - [Solution 2] IDE/msbuild: in "Properties/C++/Preprocessor Definitions" add 'IMGUI_USER_CONFIG="my_imgui_config.h"' and inside 'my_imgui_config.h' add '#define ImTextureID ImU64' and as many other options as you like.
// - [Solution 3] IDE/msbuild: edit imconfig.h and add '#define ImTextureID ImU64' (prefer solution 2 to create your own config file!)
// - [Solution 4] command-line: add '/D ImTextureID=ImU64' to your cl.exe command-line (this is what we do in the example_win32_direct12/build_win32.bat file)

// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
// Read online: https://github.com/ocornut/imgui/tree/master/docs

// CHANGELOG
...
//  2020-09-08: DirectX12: Clarified support for building on 32-bit systems by redefining ImTextureID.

@JackBoosY
Copy link
Contributor

JackBoosY commented Nov 26, 2021

The real problem is that imgui officially stated that imgui should only be used as source files, while imgui is built as a library in vcpkg, which makes it impossible for us to change the value of ImTextureID through this "redefinition" behavior.

If the upstream approve PR ocornut/imgui#1713, this issue can be easily resolved.

cc @ocornut @ras0219-msft

Please note this issue also exists with another variable ImDrawIdx.

@ocornut
Copy link

ocornut commented Nov 29, 2021

If the upstream approve PR ocornut/imgui#1713, this issue can be easily resolved.

I am not sure I understand how this would solve anything. Build files on the vcpkg repo would be equivalent to build files on imgui repo. It's a matter of whether some compile-time setting can be exposed to the end-user while benefiting from the service of a package manager.

Btw, in the case of SFML-imgui, that particular requirement that it wants unsigned int instead of void* is entirely unnecessary/superfluous and only exist because the maintainer had (at least at the time) an irrational aversion for casting. The unsigned int would perfectly fit in the void* so it is merely syntactic sugar, the trade-off being that to avoid 2-3 casts in their source they required a compile-time change. So if you ask me, there's a simple way to fix the reported issue and it would be to change SFML-imgui to not require this compile-time change and simply do their casts, which would make SFML-imgui compatible with prebuild librairies of dear imgui and thus package managers in general.

(There's still a more general issue allowing to expose any compile-time parameter in a package manager, which I presume isn't easy to solve, but at least this one concrete report can easily be closed).

@ocornut
Copy link

ocornut commented Nov 29, 2021

Addendum:

Here is the official comments:

Yes and no. That comment you relates to the DX12 backend, because the DX12 backend requires ImTextureID to be 64-bits to compile, which would be lead to the same problem as reported here with the SFML backend. But in the case of the SFML backend there's an obvious fix available.

(Tangential, there was an unconclusive thread about trying to make Dear ImGui default ImTextureID to a 64-bit value: ocornut/imgui#1641)

@JackBoosY
Copy link
Contributor

JackBoosY commented Nov 30, 2021

@ocornut

I am not sure I understand how this would solve anything. Build files on the vcpkg repo would be equivalent to build files on imgui repo. It's a matter of whether some compile-time setting can be exposed to the end-user while benefiting from the service of a package manager.

That's because we can provide configure files to the users to easily use imgui, and it can follow the "compile-time redefinition" required in imgui.
Believe me, if imgui wants users to directly use the source code instead of the binary, it will be the best choice to provide configuration files to import the configuration with one click. This is also the voice of so many users in PR ocornut/imgui#1713.

it would be to change SFML-imgui to not require this compile-time change and simply do their casts, which would make SFML-imgui compatible with prebuild librairies of dear imgui and thus package managers in general.

I'm not sure whether the SFML-imgui upstream can accept this: just delete the re-defintion code or add conversion code.

@ras0219-msft
Copy link
Contributor

Thanks @ocornut, that makes a lot of sense and agreed that the best option would be for imgui-sfml to not need the compile time parameter at all.

@JackBoosY can you do some investigation into how difficult it would be to patch out this macro in the build of imgui-sfml?

@ocornut
Copy link

ocornut commented Nov 30, 2021

I think it's pretty much only reverting this:
SFML/imgui-sfml@e71bd24

@umarnurmatov
Copy link

umarnurmatov commented Dec 3, 2021

I have just the same linker error. I tried to run my programm using some previous versions of imgui / imgui-sfml (1.80 for imgui and 2.3 for imgui-sfml), but it also didn't work.
But when I tried to compilate my programm via cmake (with versions 1.82 for imgui and 2.3 for imgui-sfml), it worked.

My enviroment:

  • OS: Windows 10
  • Compiler: MSVC 22 and 19 (x64)

@ocornut
Copy link

ocornut commented Dec 5, 2021

Believe me, if imgui wants users to directly use the source code instead of the binary, it will be the best choice to provide configuration files

You can build with IMGUI_USER_CONFIG=xxx pointing to your configuration file.

[edited out a block as I don't want to get into another debate about why solving the problem of building backends with cmake is too difficult]

@eliasdaler
Copy link

eliasdaler commented Dec 5, 2021

I think that the simplest way to solve this would be to just remove this line from the imconfig-SFML.h. Can anyone, please, check this with pre-built version of Dear ImGui on vcpkg?
If this works well for vcpkg builds, I'll release 2.5 with this change ASAP.

I don't really care if ImTextureID is void* or something else at this point. I think that these wrapper functions should be able to handle it.
Until this point, it didn't really matter what ImTextureID was as long as it fit GLuint inside (thankfully, there's a check for that). But if it breaks some use-cases, I won't insist on keeping it an unsigned int. :)

@JackBoosY
Copy link
Contributor

I will fix this issue today.

@eliasdaler
Copy link

Please ping me or create PR if it works okay for everyone and I'll merge it upstream
The thing that needs to be double-checked is that GCC/Clang/MSVC don't give any warnings about void* casts on -Wall, -Wconversion and things like these.

@JackBoosY
Copy link
Contributor

JackBoosY commented Dec 7, 2021

@eliasdaler
Linux:

[1/3] /usr/bin/c++ -DIMGUI_USER_CONFIG=\"imconfig-SFML.h\" -DSFML_STATIC -I/home/work/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean -isystem /home/work/vcpkg/installed/x64-linux/include -fPIC -g -MD -MT CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o -MF CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o.d -o CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o -c /home/work/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp
[2/3] : && /home/work/vcpkg/downloads/tools/cmake-3.21.1-linux/cmake-3.21.1-linux-x86_64/bin/cmake -E rm -f libImGui-SFML.a && /usr/bin/ar qc libImGui-SFML.a  CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o && /usr/bin/ranlib libImGui-SFML.a && :
[2/3] cd /home/work/vcpkg/buildtrees/imgui-sfml/x64-linux-dbg && /home/work/vcpkg/downloads/tools/cmake-3.21.1-linux/cmake-3.21.1-linux-x86_64/bin/cmake -P cmake_install.cmake
-- Install configuration: "Debug"
-- Installing: /home/work/vcpkg/packages/imgui-sfml_x64-linux/debug/lib/libImGui-SFML.a
-- Installing: /home/work/vcpkg/packages/imgui-sfml_x64-linux/debug/include/imgui-SFML.h
-- Installing: /home/work/vcpkg/packages/imgui-sfml_x64-linux/debug/include/imgui-SFML_export.h
-- Installing: /home/work/vcpkg/packages/imgui-sfml_x64-linux/debug/include/imconfig-SFML.h
-- Installing: /home/work/vcpkg/packages/imgui-sfml_x64-linux/debug/lib/cmake/ImGui-SFML/ImGui-SFMLConfig.cmake
-- Installing: /home/work/vcpkg/packages/imgui-sfml_x64-linux/debug/lib/cmake/ImGui-SFML/ImGui-SFMLConfig-debug.cmake

Windows:

[1/3] "C:\PROGRA~2\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe"   /TP -DIMGUI_USER_CONFIG=\"imconfig-SFML.h\" -IF:\vcpkg\buildtrees\imgui-sfml\src\5490aa1207-e624cb4121 -IF:\vcpkg\installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /FoCMakeFiles\ImGui-SFML.dir\imgui-SFML.cpp.obj /FdCMakeFiles\ImGui-SFML.dir\ImGui-SFML.pdb /FS -c F:\vcpkg\buildtrees\imgui-sfml\src\5490aa1207-e624cb4121\imgui-SFML.cpp
[2/3] cmd.exe /C "cd . && "C:\PROGRA~2\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\lib.exe"  /machine:x64 /nologo /out:ImGui-SFML.lib CMakeFiles\ImGui-SFML.dir\imgui-SFML.cpp.obj  && cd ."
[2/3] cmd.exe /C "cd /D F:\vcpkg\buildtrees\imgui-sfml\x64-windows-dbg && F:\vcpkg\downloads\tools\cmake-3.21.1-windows\cmake-3.21.1-windows-i386\bin\cmake.exe -P cmake_install.cmake"
-- Install configuration: "Debug"
-- Installing: F:/vcpkg/packages/imgui-sfml_x64-windows/debug/lib/ImGui-SFML.lib
-- Installing: F:/vcpkg/packages/imgui-sfml_x64-windows/debug/include/imgui-SFML.h
-- Installing: F:/vcpkg/packages/imgui-sfml_x64-windows/debug/include/imgui-SFML_export.h
-- Installing: F:/vcpkg/packages/imgui-sfml_x64-windows/debug/include/imconfig-SFML.h
-- Installing: F:/vcpkg/packages/imgui-sfml_x64-windows/debug/lib/cmake/ImGui-SFML/ImGui-SFMLConfig.cmake
-- Installing: F:/vcpkg/packages/imgui-sfml_x64-windows/debug/lib/cmake/ImGui-SFML/ImGui-SFMLConfig-debug.cmake

OSX:

[1/3] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DIMGUI_USER_CONFIG=\"imconfig-SFML.h\" -DSFML_STATIC -I/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f    3c.clean -isystem /Users/vcpkg/Documents/vcpkg/vcpkg/installed/x64-osx/include -fPIC -g -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -MD -MT CMakeFiles/ImGu    i-SFML.dir/imgui-SFML.cpp.o -MF CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o.d -o CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o -c /Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:826:5: warning: 'glEnable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION     to silence these warnings) [-Wdeprecated-declarations]
    glEnable(GL_BLEND);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2472:13: note: 'glEnable' has been explicitly marked deprecated here
extern void glEnable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:827:5: warning: 'glBlendFunc' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECAT    ION to silence these warnings) [-Wdeprecated-declarations]
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2391:13: note: 'glBlendFunc' has been explicitly marked deprecated here
extern void glBlendFunc (GLenum sfactor, GLenum dfactor) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:830:5: warning: 'glDisable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glDisable(GL_CULL_FACE);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2462:13: note: 'glDisable' has been explicitly marked deprecated here
extern void glDisable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:831:5: warning: 'glDisable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glDisable(GL_DEPTH_TEST);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2462:13: note: 'glDisable' has been explicitly marked deprecated here
extern void glDisable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:832:5: warning: 'glDisable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glDisable(GL_STENCIL_TEST);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2462:13: note: 'glDisable' has been explicitly marked deprecated here
extern void glDisable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:833:5: warning: 'glDisable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glDisable(GL_LIGHTING);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2462:13: note: 'glDisable' has been explicitly marked deprecated here
extern void glDisable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:834:5: warning: 'glDisable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glDisable(GL_COLOR_MATERIAL);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2462:13: note: 'glDisable' has been explicitly marked deprecated here
extern void glDisable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:835:5: warning: 'glEnable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION     to silence these warnings) [-Wdeprecated-declarations]
    glEnable(GL_SCISSOR_TEST);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2472:13: note: 'glEnable' has been explicitly marked deprecated here
extern void glEnable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:836:5: warning: 'glEnableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_    DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glEnableClientState(GL_VERTEX_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2473:13: note: 'glEnableClientState' has been explicitly marked deprecated her    e
extern void glEnableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:837:5: warning: 'glEnableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_    DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2473:13: note: 'glEnableClientState' has been explicitly marked deprecated her    e
extern void glEnableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:838:5: warning: 'glEnableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_    DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glEnableClientState(GL_COLOR_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2473:13: note: 'glEnableClientState' has been explicitly marked deprecated her    e
extern void glEnableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:839:5: warning: 'glDisableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE    _DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glDisableClientState(GL_NORMAL_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2463:13: note: 'glDisableClientState' has been explicitly marked deprecated he    re
extern void glDisableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:840:5: warning: 'glEnable' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION     to silence these warnings) [-Wdeprecated-declarations]
    glEnable(GL_TEXTURE_2D);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2472:13: note: 'glEnable' has been explicitly marked deprecated here
extern void glEnable (GLenum cap) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:841:5: warning: 'glPolygonMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2615:13: note: 'glPolygonMode' has been explicitly marked deprecated here
extern void glPolygonMode (GLenum face, GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:842:5: warning: 'glShadeModel' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glShadeModel(GL_SMOOTH);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2671:13: note: 'glShadeModel' has been explicitly marked deprecated here
extern void glShadeModel (GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:843:5: warning: 'glTexEnvi' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2710:13: note: 'glTexEnvi' has been explicitly marked deprecated here
extern void glTexEnvi (GLenum target, GLenum pname, GLint param) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:849:5: warning: 'glViewport' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATI    ON to silence these warnings) [-Wdeprecated-declarations]
    glViewport(0, 0, (GLsizei)fb_width, (GLsizei)fb_height);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2755:13: note: 'glViewport' has been explicitly marked deprecated here
extern void glViewport (GLint x, GLint y, GLsizei width, GLsizei height) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:850:5: warning: 'glMatrixMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glMatrixMode(GL_PROJECTION);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2588:13: note: 'glMatrixMode' has been explicitly marked deprecated here
extern void glMatrixMode (GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:851:5: warning: 'glPushMatrix' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glPushMatrix();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2625:13: note: 'glPushMatrix' has been explicitly marked deprecated here
extern void glPushMatrix (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:852:5: warning: 'glLoadIdentity' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRE    CATION to silence these warnings) [-Wdeprecated-declarations]
    glLoadIdentity();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2571:13: note: 'glLoadIdentity' has been explicitly marked deprecated here
extern void glLoadIdentity (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:858:5: warning: 'glOrtho' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION     to silence these warnings) [-Wdeprecated-declarations]
    glOrtho(draw_data->DisplayPos.x, draw_data->DisplayPos.x + draw_data->DisplaySize.x,
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2604:13: note: 'glOrtho' has been explicitly marked deprecated here
extern void glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:862:5: warning: 'glMatrixMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glMatrixMode(GL_MODELVIEW);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2588:13: note: 'glMatrixMode' has been explicitly marked deprecated here
extern void glMatrixMode (GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:863:5: warning: 'glPushMatrix' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glPushMatrix();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2625:13: note: 'glPushMatrix' has been explicitly marked deprecated here
extern void glPushMatrix (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:864:5: warning: 'glLoadIdentity' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRE    CATION to silence these warnings) [-Wdeprecated-declarations]
    glLoadIdentity();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2571:13: note: 'glLoadIdentity' has been explicitly marked deprecated here
extern void glLoadIdentity (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:887:5: warning: 'glGetIntegerv' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2513:13: note: 'glGetIntegerv' has been explicitly marked deprecated here
extern void glGetIntegerv (GLenum pname, GLint *params) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:889:5: warning: 'glGetIntegerv' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glGetIntegerv(GL_POLYGON_MODE, last_polygon_mode);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2513:13: note: 'glGetIntegerv' has been explicitly marked deprecated here
extern void glGetIntegerv (GLenum pname, GLint *params) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:891:5: warning: 'glGetIntegerv' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glGetIntegerv(GL_VIEWPORT, last_viewport);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2513:13: note: 'glGetIntegerv' has been explicitly marked deprecated here
extern void glGetIntegerv (GLenum pname, GLint *params) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:893:5: warning: 'glGetIntegerv' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glGetIntegerv(GL_SCISSOR_BOX, last_scissor_box);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2513:13: note: 'glGetIntegerv' has been explicitly marked deprecated here
extern void glGetIntegerv (GLenum pname, GLint *params) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:895:5: warning: 'glGetIntegerv' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glGetIntegerv(GL_SHADE_MODEL, &last_shade_model);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2513:13: note: 'glGetIntegerv' has been explicitly marked deprecated here
extern void glGetIntegerv (GLenum pname, GLint *params) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:897:5: warning: 'glGetTexEnviv' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glGetTexEnviv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, &last_tex_env_mode);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2532:13: note: 'glGetTexEnviv' has been explicitly marked deprecated here
extern void glGetTexEnviv (GLenum target, GLenum pname, GLint *params) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:905:5: warning: 'glPushAttrib' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glPushAttrib(GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT | GL_TRANSFORM_BIT);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2623:13: note: 'glPushAttrib' has been explicitly marked deprecated here
extern void glPushAttrib (GLbitfield mask) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:921:9: warning: 'glVertexPointer' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPR    ECATION to silence these warnings) [-Wdeprecated-declarations]
        glVertexPointer(2, GL_FLOAT, sizeof(ImDrawVert),
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2754:13: note: 'glVertexPointer' has been explicitly marked deprecated here
extern void glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:923:9: warning: 'glTexCoordPointer' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DE    PRECATION to silence these warnings) [-Wdeprecated-declarations]
        glTexCoordPointer(2, GL_FLOAT, sizeof(ImDrawVert),
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2707:13: note: 'glTexCoordPointer' has been explicitly marked deprecated here
extern void glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:925:9: warning: 'glColorPointer' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRE    CATION to silence these warnings) [-Wdeprecated-declarations]
        glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(ImDrawVert),
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2435:13: note: 'glColorPointer' has been explicitly marked deprecated here
extern void glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:949:21: warning: 'glScissor' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATI    ON to silence these warnings) [-Wdeprecated-declarations]
                    glScissor((int)clip_rect.x, (int)(fb_height - clip_rect.w),
                    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2668:13: note: 'glScissor' has been explicitly marked deprecated here
extern void glScissor (GLint x, GLint y, GLsizei width, GLsizei height) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:954:21: warning: 'glBindTexture' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRE    CATION to silence these warnings) [-Wdeprecated-declarations]
                    glBindTexture(GL_TEXTURE_2D, textureHandle);
                    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2386:13: note: 'glBindTexture' has been explicitly marked deprecated here
extern void glBindTexture (GLenum target, GLuint texture) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:955:21: warning: 'glDrawElements' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPR    ECATION to silence these warnings) [-Wdeprecated-declarations]
                    glDrawElements(GL_TRIANGLES, (GLsizei)pcmd->ElemCount,
                    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2466:13: note: 'glDrawElements' has been explicitly marked deprecated here
extern void glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:965:5: warning: 'glDisableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE    _DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glDisableClientState(GL_COLOR_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2463:13: note: 'glDisableClientState' has been explicitly marked deprecated he    re
extern void glDisableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:966:5: warning: 'glDisableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE    _DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2463:13: note: 'glDisableClientState' has been explicitly marked deprecated he    re
extern void glDisableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:967:5: warning: 'glDisableClientState' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE    _DEPRECATION to silence these warnings) [-Wdeprecated-declarations]
    glDisableClientState(GL_VERTEX_ARRAY);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2463:13: note: 'glDisableClientState' has been explicitly marked deprecated he    re
extern void glDisableClientState (GLenum array) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:968:5: warning: 'glBindTexture' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glBindTexture(GL_TEXTURE_2D, (GLuint)last_texture);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2386:13: note: 'glBindTexture' has been explicitly marked deprecated here
extern void glBindTexture (GLenum target, GLuint texture) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:969:5: warning: 'glMatrixMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glMatrixMode(GL_MODELVIEW);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2588:13: note: 'glMatrixMode' has been explicitly marked deprecated here
extern void glMatrixMode (GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:970:5: warning: 'glPopMatrix' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECAT    ION to silence these warnings) [-Wdeprecated-declarations]
    glPopMatrix();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2620:13: note: 'glPopMatrix' has been explicitly marked deprecated here
extern void glPopMatrix (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:971:5: warning: 'glMatrixMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glMatrixMode(GL_PROJECTION);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2588:13: note: 'glMatrixMode' has been explicitly marked deprecated here
extern void glMatrixMode (GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:972:5: warning: 'glPopMatrix' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECAT    ION to silence these warnings) [-Wdeprecated-declarations]
    glPopMatrix();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2620:13: note: 'glPopMatrix' has been explicitly marked deprecated here
extern void glPopMatrix (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:973:5: warning: 'glPopAttrib' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECAT    ION to silence these warnings) [-Wdeprecated-declarations]
    glPopAttrib();
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2618:13: note: 'glPopAttrib' has been explicitly marked deprecated here
extern void glPopAttrib (void) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:974:5: warning: 'glPolygonMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glPolygonMode(GL_FRONT, (GLenum)last_polygon_mode[0]);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2615:13: note: 'glPolygonMode' has been explicitly marked deprecated here
extern void glPolygonMode (GLenum face, GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:975:5: warning: 'glPolygonMode' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPREC    ATION to silence these warnings) [-Wdeprecated-declarations]
    glPolygonMode(GL_BACK, (GLenum)last_polygon_mode[1]);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2615:13: note: 'glPolygonMode' has been explicitly marked deprecated here
extern void glPolygonMode (GLenum face, GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:976:5: warning: 'glViewport' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATI    ON to silence these warnings) [-Wdeprecated-declarations]
    glViewport(last_viewport[0], last_viewport[1], (GLsizei)last_viewport[2],
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2755:13: note: 'glViewport' has been explicitly marked deprecated here
extern void glViewport (GLint x, GLint y, GLsizei width, GLsizei height) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:978:5: warning: 'glScissor' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glScissor(last_scissor_box[0], last_scissor_box[1], (GLsizei)last_scissor_box[2],
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2668:13: note: 'glScissor' has been explicitly marked deprecated here
extern void glScissor (GLint x, GLint y, GLsizei width, GLsizei height) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:980:5: warning: 'glShadeModel' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECA    TION to silence these warnings) [-Wdeprecated-declarations]
    glShadeModel(last_shade_model);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2671:13: note: 'glShadeModel' has been explicitly marked deprecated here
extern void glShadeModel (GLenum mode) OPENGL_DEPRECATED(10.0, 10.14);
            ^
/Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/src/5490aa1207-cc9e555f3c.clean/imgui-SFML.cpp:981:5: warning: 'glTexEnvi' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATIO    N to silence these warnings) [-Wdeprecated-declarations]
    glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, last_tex_env_mode);
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2710:13: note: 'glTexEnvi' has been explicitly marked deprecated here
extern void glTexEnvi (GLenum target, GLenum pname, GLint param) OPENGL_DEPRECATED(10.0, 10.14);
            ^
52 warnings generated.
[2/3] : && /Users/vcpkg/Documents/vcpkg/vcpkg/downloads/tools/cmake-3.21.1-osx/cmake-3.21.1-macos-universal/CMake.app/Contents/bin/cmake -E rm -f libImGui-SFML.a && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.x    ctoolchain/usr/bin/ar qc libImGui-SFML.a  CMakeFiles/ImGui-SFML.dir/imgui-SFML.cpp.o && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib libImGui-SFML.a && /Users/vcpkg/Documents/vcpkg/vcp    kg/downloads/tools/cmake-3.21.1-osx/cmake-3.21.1-macos-universal/CMake.app/Contents/bin/cmake -E touch libImGui-SFML.a && :
[2/3] cd /Users/vcpkg/Documents/vcpkg/vcpkg/buildtrees/imgui-sfml/x64-osx-dbg && /Users/vcpkg/Documents/vcpkg/vcpkg/downloads/tools/cmake-3.21.1-osx/cmake-3.21.1-macos-universal/CMake.app/Contents/bin/cmake -P cmake_install.cmake
-- Install configuration: "Debug"
-- Installing: /Users/vcpkg/Documents/vcpkg/vcpkg/packages/imgui-sfml_x64-osx/debug/lib/libImGui-SFML.a
-- Installing: /Users/vcpkg/Documents/vcpkg/vcpkg/packages/imgui-sfml_x64-osx/debug/include/imgui-SFML.h
-- Installing: /Users/vcpkg/Documents/vcpkg/vcpkg/packages/imgui-sfml_x64-osx/debug/include/imgui-SFML_export.h
-- Installing: /Users/vcpkg/Documents/vcpkg/vcpkg/packages/imgui-sfml_x64-osx/debug/include/imconfig-SFML.h
-- Installing: /Users/vcpkg/Documents/vcpkg/vcpkg/packages/imgui-sfml_x64-osx/debug/lib/cmake/ImGui-SFML/ImGui-SFMLConfig.cmake
-- Installing: /Users/vcpkg/Documents/vcpkg/vcpkg/packages/imgui-sfml_x64-osx/debug/lib/cmake/ImGui-SFML/ImGui-SFMLConfig-debug.cmake

I didn't see any warnings related to my changes. And I will open a PR to imgui-sfml later.

eliasdaler pushed a commit to SFML/imgui-sfml that referenced this issue Dec 7, 2021
See microsoft/vcpkg#21530 for more details

vcpkg's ImGui is compiled with ImTextureID defined as void* and compiling ImGui-SFML with ImTextureID defined as something else breaks linking with pre-built ImGui.
eliasdaler added a commit to SFML/imgui-sfml that referenced this issue Dec 7, 2021
Small release to fix a broken vcpkg package (see microsoft/vcpkg#21530)
* Remove type alias for ImTextureID (#186) (thanks, @JackBoosY)
@eliasdaler
Copy link

Fixed upstream. You can now upgrade ImGui-SFML to 2.5 and remove the patch in vcpkg's build recipe

DNKpp pushed a commit to DNKpp/imgui-sfml that referenced this issue Dec 24, 2021
Small release to fix broken vcpkg package (see microsoft/vcpkg#21530)
* Remove type alias for ImTextureID (SFML#186) (thanks, @JackBoosY)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants