Vcpkg VS imgui

Compare Vcpkg vs imgui and see what are their differences.

imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (by ocornut)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Vcpkg imgui
146 351
21,377 55,381
1.9% -
10.0 9.7
4 days ago 11 days ago
CMake C++
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Vcpkg

Posts with mentions or reviews of Vcpkg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-29.
  • Backdoor in upstream xz/liblzma leading to SSH server compromise
    49 projects | news.ycombinator.com | 29 Mar 2024
    49 projects | news.ycombinator.com | 29 Mar 2024
  • Dependencies Belong in Version Control
    4 projects | news.ycombinator.com | 26 Nov 2023
    vcpkg may expire assets after 1.5 years, so achieve long-term reproducibility you will need to cache your dependencies.... Somewhere. Not sure what the expected solution is.

    https://github.com/microsoft/vcpkg/pull/30546#issuecomment-1...

  • My first Software Release using GitHub Release
    6 projects | dev.to | 24 Nov 2023
    There were various approaches recommended depending on our language and ecosystem. My classmates who developed using Node.js were recommended npm, and PyPI or poetry for Python. Since my program is written in C++, I was recommended to look into one of vcpkg or conan, but I ultimately did not use either package manager.
  • Anyone else frustrated with Conan2?
    3 projects | /r/cpp | 31 Aug 2023
    Which dependencies are not in vcpkg? We can ask them to add it. It’s pretty easy just open an issue there https://github.com/microsoft/vcpkg/issues .
  • hypergrep: A new "fastest grep" to search directories recursively for a regex pattern
    9 projects | /r/cpp | 7 Jun 2023
    CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message): Command failed: /usr/bin/cmake --build . --config Debug --target install -- -v -j25 Working Directory: /opt/vcpkg/buildtrees/hyperscan/x64-linux-dbg See logs for more information: /opt/vcpkg/buildtrees/hyperscan/install-x64-linux-dbg-out.log Call Stack (most recent call first): installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process) installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build) ports/hyperscan/portfile.cmake:22 (vcpkg_cmake_install) scripts/ports.cmake:147 (include) error: building hyperscan:x64-linux failed with: BUILD_FAILED Please ensure you're using the latest port files with `git pull` and `vcpkg update`. Then check for known issues at: https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+hyperscan You can submit a new issue at: https://github.com/microsoft/vcpkg/issues/new?title=[hyperscan]+Build+error&body=Copy+issue+body+from+%2Fopt%2Fvcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md You can also sumbit an issue by running (GitHub cli must be installed): gh issue create -R microsoft/vcpkg --title "[hyperscan] Build failure" --body-file /opt/vcpkg/installed/vcpkg/issue_body.md
    9 projects | /r/cpp | 7 Jun 2023
    The hyperscan update to vcpkg seems to have happened from 5.4.0 to 5.4.2 in this commit on Apr 20.
  • Configuring incomplete due to CMake Error(missing OpenCVConfig.cmake ProtobufConfig.cmake and TIFF etc.)
    2 projects | /r/fictrac | 23 May 2023
    Dear Fictrac team, I am hoping to install Fictrac in our windows 11 x64 laptop (Visual Studio 2019, cMake 3.26.4). I followed the installation guideline on github page fictrac and used the latest vcpkg
  • The Future of Boost by Vinnie Falco
    5 projects | /r/cpp | 8 May 2023
    unless you want to use clang-cl since it renames the output to make it work for MSVC which in return breaks FindBoost in cmake and requieres https://github.com/microsoft/vcpkg/pull/27694 to fix it. I have touched enough of vcpkg build scripts to know what works and what doesn't and the b2 build is one of the corners I strongly dislike.
  • CMake and Linking External libraries is a kick in the nuts if i've ever seen it.
    4 projects | /r/cpp | 3 May 2023
    And then there's also Qt which has plugins. vcpkg Qt5 is nice enough to copy the plugins for you, but not with Qt6. The official answer seems to be "use windeployqt". So I do, and it copies plugins fine. But sqlite doesn't work, despite the plugin sqldrivers/qsqlite.dll being in the right location. Turns out that neither vcpkg or windeployqt copy sqlite3.dll. I switched to static libraries after that, it's a lot slower to link, clang doesn't work for some reason (but clang-cl does) but at least I don't have to worry about DLLs.

imgui

Posts with mentions or reviews of imgui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-06.
  • Using raylib with Dear ImGui: Game Dev Debugging UI
    5 projects | dev.to | 6 Apr 2024
    include(cmake/CPM.cmake) function(raylib_imgui_setup_dependencies) message(STATUS "Include Dear ImGui") FetchContent_Declare( ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG 277ae93c41314ba5f4c7444f37c4319cdf07e8cf) # v1.90.4 FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) add_library( imgui STATIC ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp) target_include_directories(imgui INTERFACE ${imgui_SOURCE_DIR}) include(cmake/CPM.cmake) message(STATUS "Include dbg-macro") cpmaddpackage( "gh:sharkdp/dbg-macro#fb9976f410f8b29105818b20278cd0be0e853fe8" )# v0.5.1 message(STATUS "Include fmtlib") cpmaddpackage("gh:fmtlib/fmt#e69e5f977d458f2650bb346dadf2ad30c5320281" )# 10.x message(STATUS "Include raylib") cpmaddpackage("gh:raysan5/raylib#ae50bfa2cc569c0f8d5bc4315d39db64005b1b0" )# v5.0 message(STATUS "Include spdlog") cpmaddpackage("gh:gabime/spdlog#7c02e204c92545f869e2f04edaab1f19fe8b19fd" )# v1.13.0 message(STATUS "Include rlImGui") FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui GIT_TAG d765c1ef3d37cf939f88aaa272a59a2713d654c9) FetchContent_MakeAvailable(rlImGui) FetchContent_GetProperties(rlImGui SOURCE_DIR RLIMGUI_DIR) add_library(rlimgui STATIC ${rlimgui_SOURCE_DIR}/rlImgui.cpp) target_link_libraries(rlimgui PRIVATE imgui raylib) target_include_directories(rlimgui INTERFACE ${rlimgui_SOURCE_DIR}) endfunction()
  • Ask HN: Fastest cross-platform GUI stack/strategy
    3 projects | news.ycombinator.com | 18 Mar 2024
  • Immediate Mode GUI Programming
    15 projects | news.ycombinator.com | 15 Jan 2024
    Immediate mode is a fuzzy concept, as witnessed by this writeup: https://github.com/ocornut/imgui/wiki/About-the-IMGUI-paradi...
    15 projects | news.ycombinator.com | 15 Jan 2024
    The Dear ImGui readme is a good starting point:

    https://github.com/ocornut/imgui

    ...now of course Dear ImGui is a specific implementation of an immediate mode UI framework, but it's also the most popular implementation.

  • Nebula is an open-source and free-to-use modern C++ game engine
    6 projects | news.ycombinator.com | 9 Jan 2024
  • Dear ImGui: Bloat-free Graphical User interface with minimal dependencies
    10 projects | news.ycombinator.com | 20 Dec 2023
    From the faq https://github.com/ocornut/imgui/blob/master/docs/FAQ.md#q-w...

    Q. What is this library called?

    This library is called Dear ImGui. Please refer to it as Dear ImGui (not ImGui, not IMGUI).

    (The library misleadingly started its life in 2014 as "ImGui" due to the fact that I didn't give it a proper name when I released 1.0, and had no particular expectation that it would take off. However, the term IMGUI (immediate-mode graphical user interface) was coined before and is being used in variety of other situations e.g. Unity uses it own implementation of the IMGUI paradigm. To reduce the ambiguity without affecting existing code bases, I have decided in December 2015 a fully qualified name "Dear ImGui" for this library.

    10 projects | news.ycombinator.com | 20 Dec 2023
    ImGui is engine/GPU agnostic

    Themeing isn't a just a retained mode thing, you can do wonders with immediate UIs, even thought (dear)ImGui doesn't provide much, you can still do wonders: https://github.com/ocornut/imgui/issues/707#issuecomment-362...

    More on that topic: https://www.youtube.com/watch?v=Z1qyvQsjK5Y

    10 projects | news.ycombinator.com | 20 Dec 2023
    My first guess would be it is supposed to sound like "Dear Imogen". However, it wasn't initially conceived of as a reference to anything. The "Dear" was tacked on to qualify the name [1].

    [1] https://github.com/ocornut/imgui/blob/master/docs/FAQ.md#q-w...

    10 projects | news.ycombinator.com | 20 Dec 2023
  • Where do I start to learn C++ for a game development
    2 projects | /r/gamedev | 10 Dec 2023
    Bonus: If you want to make desktop app with UI, then this is another great C++ library and it's also simple to learn as well. https://github.com/ocornut/imgui.

What are some alternatives?

When comparing Vcpkg and imgui you can also consider the following projects:

wxWidgets - Cross-Platform C++ GUI Library

nuklear - A single-header ANSI C immediate mode cross-platform GUI library

conan - Conan - The open-source C and C++ package manager

NanoGUI - Minimalistic GUI library for OpenGL

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

CEGUI

FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development

nana - a modern C++ GUI library

nuklear

webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).

raylib - A simple and easy-to-use library to enjoy videogames programming