airguanz / imgui-filebrowser Goto Github PK
View Code? Open in Web Editor NEWFile browser implementation for dear-imgui. C++17 is required.
License: MIT License
File browser implementation for dear-imgui. C++17 is required.
License: MIT License
For example if a file has the extension .TXT
. Calling SetTypeFilters({".txt", ".TXT"})
, won't show any files with capitalized extensions.
CMakeLists.txt:
cmake_minimum_required(VERSION 3.15)
project(YMVD VERSION 0.3)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(LIBS "${CMAKE_SOURCE_DIR}/lib/opengl32.dll" imm32.lib "${CMAKE_SOURCE_DIR}/lib/glfw3.dll")
file (
GLOB SOURCE_FILES
"${CMAKE_SOURCE_DIR}/sources/*.cpp"
"${CMAKE_SOURCE_DIR}/sources/*.c"
"${CMAKE_SOURCE_DIR}/libraries/glad/src/glad.c"
"${CMAKE_SOURCE_DIR}/libraries/ImGui/*.cpp"
)
add_executable(YMVD ${SOURCE_FILES})
target_include_directories (
YMVD PUBLIC
"${CMAKE_SOURCE_DIR}/libraries/GLFW/include"
"${CMAKE_SOURCE_DIR}/libraries/glm/include"
"${CMAKE_SOURCE_DIR}/libraries/glad/include"
"${CMAKE_SOURCE_DIR}/libraries/ImGui"
)
target_link_libraries(YMVD ${LIBS})
cmake-tools-kits.json:
[
{
"name": "Clang 12.0.0 x86_64-pc-windows-msvc",
"compilers": {
"C": "C:\\Program Files\\LLVM\\bin\\clang.exe",
"CXX": "C:\\Program Files\\LLVM\\bin\\clang++.exe"
},
"preferredGenerator": {
"name": "MinGW Makefiles"
},
"environmentVariables": {
"CMT_MINGW_PATH": "C:\\MinGW\\bin"
}
},
{
"name": "GCC 6.3.0 mingw32",
"compilers": {
"C": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-win32-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
"CXX": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-win32-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe"
},
"preferredGenerator": {
"name": "MinGW Makefiles"
},
"environmentVariables": {
"CMT_MINGW_PATH": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-win32-seh-rt_v6-rev0\\mingw64\\bin"
},
"keep": true
},
{
"name": "Visual Studio Community 2019 Release - amd64",
"visualStudio": "93248eac",
"visualStudioArchitecture": "x64",
"preferredGenerator": {
"name": "Visual Studio 16 2019",
"platform": "x64",
"toolset": "host=x64"
}
},
{
"name": "Visual Studio Community 2019 Release - amd64_x86",
"visualStudio": "93248eac",
"visualStudioArchitecture": "x64",
"preferredGenerator": {
"name": "Visual Studio 16 2019",
"platform": "win32",
"toolset": "host=x64"
}
},
{
"name": "Visual Studio Community 2019 Release - x86",
"visualStudio": "93248eac",
"visualStudioArchitecture": "x86",
"preferredGenerator": {
"name": "Visual Studio 16 2019",
"platform": "win32",
"toolset": "host=x86"
}
},
{
"name": "Visual Studio Community 2019 Release - x86_amd64",
"visualStudio": "93248eac",
"visualStudioArchitecture": "x86",
"preferredGenerator": {
"name": "Visual Studio 16 2019",
"platform": "x64",
"toolset": "host=x86"
}
}
]
Error:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In member function 'std::filesystem::__cxx11::path& std::filesystem::__cxx11::path::operator/=(const std::filesystem::__cxx11::path&)':
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:47: error: no match for 'operator!=' (operand types are 'std::filesystem::__cxx11::path' and 'std::filesystem::__cxx11::path')
|| (__p.has_root_name() && __p.root_name() != root_name()))
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/utility:70,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm:60,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:3,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_pair.h:456:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)'
operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_pair.h:456:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::pair<_T1, _T2>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algobase.h:67,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm:61,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:3,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:311:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)'
operator!=(const reverse_iterator<_Iterator>& __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:311:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::reverse_iterator<_Iterator>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algobase.h:67,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm:61,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:3,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:349:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)'
operator!=(const reverse_iterator<_IteratorL>& __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:349:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::reverse_iterator<_Iterator>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algobase.h:67,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm:61,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:3,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:1124:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
operator!=(const move_iterator<_IteratorL>& __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:1124:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::move_iterator<_IteratorL>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_algobase.h:67,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/algorithm:61,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:3,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:1130:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)'
operator!=(const move_iterator<_Iterator>& __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_iterator.h:1130:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::move_iterator<_IteratorL>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/char_traits.h:40,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:40,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/postypes.h:221:5: note: candidate: 'template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)'
operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/postypes.h:221:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::fpos<_StateT>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:41,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocator.h:158:5: note: candidate: 'template<class _T1, class _T2> bool std::operator!=(const std::allocator<_Tp>&, const std::allocator<_Tp>&)'
operator!=(const allocator<_T1>&, const allocator<_T2>&)
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocator.h:158:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::allocator<_Tp>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:41,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocator.h:164:5: note: candidate: 'template<class _Tp> bool std::operator!=(const std::allocator<_Tp>&, const std::allocator<_Tp>&)'
operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/allocator.h:164:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::allocator<_Tp>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:48,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:52,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string_view:454:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator!=(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>)'
operator!=(basic_string_view<_CharT, _Traits> __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string_view:454:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'std::basic_string_view<_CharT,
_Traits>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:48,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:52,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string_view:460:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator!=(std::basic_string_view<_CharT, _Traits>, std::__detail::__idt<std::basic_string_view<_CharT, _Traits> >)'
operator!=(basic_string_view<_CharT, _Traits> __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string_view:460:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'std::basic_string_view<_CharT,
_Traits>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:48,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:52,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string_view:466:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator!=(std::__detail::__idt<std::basic_string_view<_CharT, _Traits> >, std::basic_string_view<_CharT, _Traits>)'
operator!=(__detail::__idt<basic_string_view<_CharT, _Traits>> __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string_view:466:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'std::basic_string_view<_CharT,
_Traits>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:52,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:6056:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:6056:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:52,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:6069:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
operator!=(const _CharT* __lhs,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:6069:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: mismatched types 'const _CharT*' and 'std::filesystem::__cxx11::path'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:52,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/stdexcept:39,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:39,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:6081:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)'
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:6081:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:4,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:257:5: note: candidate: 'template<class _Tp, long long unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)'
operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/array:257:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::array<_Tp, _Nm>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_fwd.h:35,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:36,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:319:3: note: candidate: 'bool std::operator!=(const std::error_code&, const std::error_code&)'
operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:319:3: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'const std::error_code&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:323:3: note: candidate: 'bool std::operator!=(const std::error_code&, const std::error_condition&)'
operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:323:3: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'const std::error_code&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:327:3: note: candidate: 'bool std::operator!=(const std::error_condition&, const std::error_code&)'
operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:327:3: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'const std::error_condition&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:331:3: note: candidate: 'bool std::operator!=(const std::error_condition&, const std::error_condition&
'
operator!=(const error_condition& __lhs,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/system_error:331:3: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'const std::error_condition&'
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/vector:64,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:37,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h:1772:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)'
operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h:1772:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::vector<_Tp, _Alloc>' || (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_facets.h:48,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/locale:40,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:38,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/streambuf_iterator.h:209:5: note: candidate: 'template<class _CharT, class _Traits> bool std::operator!=(const
std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)'
operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/streambuf_iterator.h:209:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:37,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_conv.h:41,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/locale:43,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:38,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tuple:1439:5: note: candidate: 'template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Tps ...>&, const std::tuple<_Elements ...>&)'
operator!=(const tuple<_TElements...>& __t,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tuple:1439:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::tuple<_Tps ...>'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_conv.h:41,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/locale:43,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:38,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:706:5: note: candidate: 'template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)'
operator!=(const unique_ptr<_Tp, _Dp>& __x,
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:706:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::unique_ptr<_Tp, _Dp
'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_conv.h:41,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/locale:43,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:38,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:712:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)'
operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:712:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::unique_ptr<_Tp, _Dp
'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_conv.h:41,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/locale:43,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:38,
from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:717:5: note: candidate: 'template<class _Tp, class _Dp> bool std::operator!=(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)'
operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
^~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/unique_ptr.h:717:5: note: template argument deduction/substitution failed:
In file included from C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/filesystem:37,
from C:/Users/alexa/Desktop/YMVD/headers/imfilebrowser.h:6,
from C:\Users\alexa\Desktop\YMVD\sources\window.cpp:234:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:237:60: note: 'std::filesystem::__cxx11::path' is not derived from 'const std::unique_ptr<_Tp, _Dp
'
|| (__p.has_root_name() && __p.root_name() != root_name()))
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: At global scope:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:511:18: error: specialization of 'std::filesystem::__cxx11::path::__is_encoded_char<wchar_t>' after instantiation
struct path::__is_encoded_char<wchar_t> : std::true_type
^~~~~~~~~~~~~~~~~~~~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In function 'decltype (std::filesystem::__cxx11::path(__source, std::locale::classic())) std::filesystem::__cxx11::u8path(const _Source&)':
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:589:68: error: no matching function for call to 'u8path(std::__cxx11::basic_string<char>::const_iterator, std::__cxx11::basic_string<char>::const_iterator)'
return std::filesystem::u8path(__u8str.begin(), __u8str.end());
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:584:5: note: candidate: 'template<class _Source> decltype (std::filesystem::__cxx11::path(__source, std::locale::classic())) std::filesystem::__cxx11::u8path(const _Source&)'
u8path(const _Source& __source)
^~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:584:5: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:589:68: note: candidate expects 1 argument, 2 provided
return std::filesystem::u8path(__u8str.begin(), __u8str.end());
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In function 'decltype (std::filesystem::__cxx11::path(__first, __last, std::locale::classic())) std::filesystem::__cxx11::u8path(_InputIterator, _InputIterator)':
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:601:20: error: 'value_type' was not declared in this scope
codecvt_utf8<value_type> __cvt;
^~~~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:601:20: note: suggested alternative: 'false_type'
codecvt_utf8<value_type> __cvt;
^~~~~~~~~~
false_type
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:601:30: error: template argument 1 is invalid
codecvt_utf8<value_type> __cvt;
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:602:7: error: 'string_type' was not declared in this scope
string_type __tmp;
^~~~~~~~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:602:7: note: suggested alternative: 'string_view'
string_type __tmp;
^~~~~~~~~~~
string_view
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:603:45: error: '__tmp' was not declared in this scope
if (__str_codecvt_in(__first, __last, __tmp, __cvt))
^~~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:603:45: note: suggested alternative: 'rmtmp'
if (__str_codecvt_in(__first, __last, __tmp, __cvt))
^~~~~
rmtmp
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In member function 'int std::filesystem::__cxx11::path::compare(const string_type&) const':
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1014:72: error: no matching function for call to 'std::filesystem::__cxx11::path::path(const string_type&)'
path::compare(const string_type& __s) const { return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:402:5: note: candidate: 'std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path::string_type, std::filesystem::__cxx11::path::_Type)'
path(string_type __str, _Type __type) : _M_pathname(__str), _M_type(__type)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:402:5: note: candidate expects 2 arguments, 1 provided
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:202:7: note: candidate: 'template<class _InputIterator, class _Require, class _Require2> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, const std::locale&, std::filesystem::__cxx11::path::format)'
path(_InputIterator __first, _InputIterator __last, const locale& __loc,
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:202:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1014:72: note: candidate expects 4 arguments, 1 provided
path::compare(const string_type& __s) const { return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:194:7: note: candidate: 'template<class _Source, class _Require, class _Require2> std::filesystem::__cxx11::path::path(const _Source&, const std::locale&, std::filesystem::__cxx11::path::format)'
path(_Source const& __source, const locale& __loc, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:194:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1014:72: note: candidate expects 3 arguments, 1 provided
path::compare(const string_type& __s) const { return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:187:7: note: candidate: 'template<class _InputIterator, class _Require> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, std::filesystem::__cxx11::path::format)'
path(_InputIterator __first, _InputIterator __last, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:187:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1014:72: note: candidate expects 3 arguments, 1 provided
path::compare(const string_type& __s) const { return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:180:7: note: candidate: 'template<class _Source, class _Require> std::filesystem::__cxx11::path::path(const _Source&, std::filesystem::__cxx11::path::format)'
path(_Source const& __source, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:180:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:174:5: note: candidate: 'std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path::string_type&&, std::filesystem::__cxx11::path::format)' <near match>
path(string_type&& __source, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:174:5: note: conversion of argument 1 would be ill-formed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1014:69: error: cannot bind rvalue reference of type 'std::filesystem::__cxx11::path::string_type&&'
{aka 'std::__cxx11::basic_string<wchar_t>&&'} to lvalue of type 'const string_type' {aka 'const std::__cxx11::basic_string<wchar_t>'}
path::compare(const string_type& __s) const { return compare(path(__s)); }
^~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:167:5: note: candidate: 'std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path&&)'
path(path&& __p) noexcept
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:167:5: note: no known conversion for argument 1 from 'const string_type' {aka 'const std::__cxx11::basic_string<wchar_t>'} to 'std::filesystem::__cxx11::path&&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:165:5: note: candidate: 'std::filesystem::__cxx11::path::path(const std::filesystem::__cxx11::path&)' path(const path& __p) = default;
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:165:5: note: no known conversion for argument 1 from 'const string_type' {aka 'const std::__cxx11::basic_string<wchar_t>'} to 'const std::filesystem::__cxx11::path&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:163:5: note: candidate: 'std::filesystem::__cxx11::path::path()'
path() noexcept { }
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:163:5: note: candidate expects 0 arguments, 1 provided
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h: In member function 'int std::filesystem::__cxx11::path::compare(std::basic_string_view<wchar_t>) const':
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1021:28: error: no matching function for call to 'std::filesystem::__cxx11::path::path(std::basic_string_view<wchar_t>&)'
{ return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:402:5: note: candidate: 'std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path::string_type, std::filesystem::__cxx11::path::_Type)'
path(string_type __str, _Type __type) : _M_pathname(__str), _M_type(__type)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:402:5: note: candidate expects 2 arguments, 1 provided
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:202:7: note: candidate: 'template<class _InputIterator, class _Require, class _Require2> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, const std::locale&, std::filesystem::__cxx11::path::format)'
path(_InputIterator __first, _InputIterator __last, const locale& __loc,
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:202:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1021:28: note: candidate expects 4 arguments, 1 provided
{ return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:194:7: note: candidate: 'template<class _Source, class _Require, class _Require2> std::filesystem::__cxx11::path::path(const _Source&, const std::locale&, std::filesystem::__cxx11::path::format)'
path(_Source const& __source, const locale& __loc, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:194:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1021:28: note: candidate expects 3 arguments, 1 provided
{ return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:187:7: note: candidate: 'template<class _InputIterator, class _Require> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, std::filesystem::__cxx11::path::format)'
path(_InputIterator __first, _InputIterator __last, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:187:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:1021:28: note: candidate expects 3 arguments, 1 provided
{ return compare(path(__s)); }
^
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:180:7: note: candidate: 'template<class _Source, class _Require> std::filesystem::__cxx11::path::path(const _Source&, std::filesystem::__cxx11::path::format)'
path(_Source const& __source, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:180:7: note: template argument deduction/substitution failed:
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:174:5: note: candidate: 'std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path::string_type&&, std::filesystem::__cxx11::path::format)'
path(string_type&& __source, format = auto_format)
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:174:5: note: no known conversion for argument 1 from 'std::basic_string_view<wchar_t>' to 'std::filesystem::__cxx11::path::string_type&&' {aka 'std::__cxx11::basic_string<wchar_t>&&'}
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:167:5: note: candidate: 'std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path&&)'
path(path&& __p) noexcept
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:167:5: note: no known conversion for argument 1 from 'std::basic_string_view<wchar_t>' to 'std::filesystem::__cxx11::path&&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:165:5: note: candidate: 'std::filesystem::__cxx11::path::path(const std::filesystem::__cxx11::path&)' path(const path& __p) = default;
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:165:5: note: no known conversion for argument 1 from 'std::basic_string_view<wchar_t>' to 'const std::filesystem::__cxx11::path&'
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:163:5: note: candidate: 'std::filesystem::__cxx11::path::path()'
path() noexcept { }
^~~~
C:/PROGRA~1/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/fs_path.h:163:5: note: candidate expects 0 arguments, 1 provided
make[2]: *** [CMakeFiles\YMVD.dir\build.make:211: CMakeFiles/YMVD.dir/sources/window.cpp.obj] Error 1
make[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/YMVD.dir/all] Error 2
make: *** [Makefile:90: all] Error 2
When I was compiling the imgui example code with the imfilebrowser.h
included, it showed the error messages below.
In file included from main.cpp:9:
./imfilebrowser.h:134:34: error: implicit instantiation of undefined template 'std::__1::vector<const char *,
std::__1::allocator<const char *> >'
std::vector<const char*> typeFilters_;
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iosfwd:216:28: note: template is declared here
class _LIBCPP_TEMPLATE_VIS vector;
^
In file included from main.cpp:9:
./imfilebrowser.h:147:33: error: implicit instantiation of undefined template
'std::__1::vector<ImGui::FileBrowser::FileRecord, std::__1::allocator<ImGui::FileBrowser::FileRecord> >'
std::vector<FileRecord> fileRecords_;
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iosfwd:216:28: note: template is declared here
class _LIBCPP_TEMPLATE_VIS vector;
^
2 errors generated.
Which compiler should I use to compile this library: Visual C++ or GCC?
Look at this code:
#include "headers/imfilebrowser.h"
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <imgui.h>
#include <imgui_impl_glfw.h>
#include <imgui_impl_opengl3.h>
#include <bits/stdc++.h>
using namespace std;
GLFWwindow *window = NULL;
ImGui::FileBrowser fileBrowser;
int main(int argc, char **argv) {
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
window = glfwCreateWindow(800, 600, "File browser", NULL, NULL);
glfwSetWindowPos(window, (1920 / 2) - 400, (1080 / 2) - 300);
glfwSwapInterval(GLFW_TRUE);
glfwMakeContextCurrent(window);
gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
IMGUI_CHECKVERSION();
ImGui::CreateContext();
ImGuiIO &io = ImGui::GetIO();
(void)io;
io.IniFilename = NULL;
ImGui_ImplGlfw_InitForOpenGL(window, true);
ImGui_ImplOpenGL3_Init();
do {
glfwPollEvents();
ImGui_ImplOpenGL3_NewFrame();
ImGui_ImplGlfw_NewFrame();
ImGui::NewFrame();
ImGui::Render();
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
glfwSwapBuffers(window);
} while (!glfwWindowShouldClose(window));
ImGui_ImplOpenGL3_Shutdown();
ImGui_ImplGlfw_Shutdown();
ImGui::DestroyContext();
glfwDestroyWindow(window);
glfwTerminate();
}
ImGui::FileBrowser fileBrowser;
If you remove this line, the program will start, and if you leave it, the program will not respond at all and will not start, without any error.
What can I do in this situation?
I compiled this code with MinGW.
Hi, thanks for all the good work!
I'm trying to use latest imgui-filebrowser with latest imgui (not docking) with SDL2 2.30.3 on Android 7 Nougat (minTarget API level 21 (Android 5 Lollipop), compileSdk API level 31 (Android 12) with NDK version 25.2.9519653.
But my app crashes when the file browser object is constructed, with an uncaught exception:
terminating with uncaught exception of type "std::__ndk1::__fs::filesystem::filesystem_error": filesystem error: in posix_stat: failed to determine attributes for the specified path: Permission denied [/charger]
After catching and logging the exceptions, it no longer crashes, but neither do I have working file browsers.
I think it would be best if imgui-filebrowser is robust to filesystem errors so permission issues don't break everything.
Thoughts?
When I try to use SetTypeFilters() like this
fileDialog.SetTypeFilters({ ".*", ".dds" });
And make filter combobox to ",*". Then I'll get this
But I think it should be
(2 hdr file missed.)
So I switched location of these two code segments
// all type filters
if(typeFilters_.size() > 1 && typeFilterIndex_ == 0)
{
for(size_t i = 1; i < typeFilters_.size(); ++i)
{
if(extension == typeFilters_[i])
return true;
}
return false;
}
// universal filter
if(typeFilters_[typeFilterIndex_] == std::string_view(".*"))
return true;
to
// universal filter
if(typeFilters_[typeFilterIndex_] == std::string_view(".*"))
return true;
// all type filters
if(typeFilters_.size() > 1 && typeFilterIndex_ == 0)
{
for(size_t i = 1; i < typeFilters_.size(); ++i)
{
if(extension == typeFilters_[i])
return true;
}
return false;
}
It's good for me. But I'm not sure will this cause any other problems...
When the window is opened, it seems that it's not dockable with the ImGui docking
error: no operator "+" matches these operands
code: imgur
I have another problem..
File Browser do not open only in FiveM, but in the directx11 test window the file browser already opens... how to solve it?
I can't seem to navigate through the folders
Can't seem to replicate consistently, But when using the file browser I will sometimes get an "Exception thrown at 0x00007FF776436552 in ProjectName.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFF8."
the call stack shows that this is caused by SetTypeFilter().
Also important to note that this only happens in release
It seems that some C++20 crept in with #include <version>
:
https://en.cppreference.com/w/cpp/utility#Language_support
The header
<version>
supplies implementation-dependent information about the C++ standard library (such as the version number and release date). It also defines the library feature-test macros. | (since C++20)
(emphasis mine)
Compilation currently fails with C++17:
$ g++ -std=c++17 ...
...
../../imgui-filebrowser/imfilebrowser.h:37:10: fatal error: version: No such file or directory
#include <version>
^~~~~~~~~
compilation terminated.
I have an interest in compiling my program on Debian Buster (current stable), whose g++
does not support full C++20 (only an incomplete -std=c++2a
), so I will investigate and see if this include is strictly necessary, or what can be done to replace it.
$ g++ --version
g++ (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hi,
first of: I love your work!
I recently updated the ImGui files in my project to the newest version. This seems to have broken the "gray turning" (not sure what this is called in ImGui-slang). Instead of the background, the file browser turns gray. This seems to be only a visual bug.
This is a screenshot of your "Getting Started"-Example code, with the old ImGui-files (v1.67):
And this is a screenshot of the same code, but using the most recent ImGui (v1.88):
I'm having the same issue on Mac and Windows. Do you know what the reason for this could be?
Thank you. <3
Never mind, it was just me being stupid
It seems that the selection does not work with the gamepad, all is good on my side it must be related to the ImGui::IsItemClicked
When I cross-compile for Windows 64bit using MINGW64 and run in Wine on Linux, imgui-filebrowser does not list any paths that have "double quotes" in the name. They are simply missing from the listing. Other paths in the same directory are listed correctly, including those with spaces and/or 'apostrophes'.
#include <filesystem>
can list paths with "double quotes")$ wine --version
wine-5.0.2
$ x86_64-w64-mingw32-g++ --version
x86_64-w64-mingw32-g++ (GCC) 10-win32 20200525
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
请问怎么设置成多选。这是为写的代码,但是失败了
if (show_upload_images_window){
fileDialog.Open();
fileDialog.Display();
if(fileDialog.HasSelected())
{
fileDialog.GetMultiSelected();
fileDialog.Close();
}
}
Hello, I tried to build with my project under msys2 mingw32-bit but failed eventually. Would this library support msys2?
[ 50%] Building CXX object CMakeFiles/imgui_sfml_example.dir/main.cpp.obj
In file included from C:/Users/Rish/Desktop/rish/Imgui_test/test/main.cpp:11:
C:/Users/Rish/Desktop/rish/Imgui_test/test/imfilebrowser.h: In member function 'void ImGui::FileBrowser::Display()':
C:/Users/Rish/Desktop/rish/Imgui_test/test/imfilebrowser.h:441:88: error: cannot convert 'const value_type*' {aka 'const wchar_t*'} to 'const char*'
441 | std::strncpy(inputNameBuf_->data(), selectedFilename_.c_str(),
| ~~~~~~~~~~~~~~~~~~~~~~~^~
| |
| const value_type* {aka const wchar_t*}
In file included from C:/msys64/mingw32/include/imgui.h:58,
from C:/Users/Rish/Desktop/rish/Imgui_test/test/main.cpp:4:
C:/msys64/mingw32/i686-w64-mingw32/include/string.h:89:69: note: initializing argument 2 of 'char* strncpy(char*, const char*, size_t)'
89 | char *strncpy(char * __restrict__ _Dest,const char * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
make[2]: *** [CMakeFiles/imgui_sfml_example.dir/build.make:80:CMakeFiles/imgui_sfml_example.dir/main.cpp.obj] 錯誤 1
make[2]: 離開目錄「/c/Users/Rish/Desktop/rish/Imgui_test/test/build」
make[1]: *** [CMakeFiles/Makefile2:93:CMakeFiles/imgui_sfml_example.dir/all] 錯誤 2
make[1]: 離開目錄「/c/Users/Rish/Desktop/rish/Imgui_test/test/build」
make: *** [Makefile:101:all] 錯誤 2
Sup, i have a small problem, every time i try to go to "AppData\Local" i get a "No mapping for the Unicode character exists in the target..." I was trying to find a solution for like 3 hours before but i didn't figure out anything.
This is a very cool project and I am planning to use it. I see this can act as file selector, but is there a way to provide functionality to just select a folder ? Otherwise I will have to do the processing at my end.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-truncation suggests using memcpy()
instead if NUL termination is not required, if NUL is needed buffer should be bigger or size to copy should be smaller (and maybe the final NUL needs to be added manually). Haven't investigated further to know which is the case...
../../imgui-filebrowser/imfilebrowser.h: In member function ‘void ImGui::FileBrowser::Display()’:
../../imgui-filebrowser/imfilebrowser.h:475:41: warning: ‘char* strncpy(char*, const char*, size_t)’ specified bound 512 equals destination size [-Wstringop-truncation]
475 | std::strncpy(inputNameBuf_->data(),
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
476 | u8StrToStr(rsc.name.u8string()).c_str(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
477 | inputNameBuf_->size());
| ~~~~~~~~~~~~~~~~~~~~~~
imgui-filebrowser/imfilebrowser.h
Lines 475 to 477 in d9bec46
Title says it all. I am wondering why there is no ImGui::FileBrowser::GetFlags()
function or a ImGui::FileBrowser::SetFlags(ImGuiFileBrowserFlags flags)
function? Instead it can only be done upon construction of the browser object.
For my case I want to be able to save and load things and when saving I want to enable the entering of a file name and when loading I do not. To do so should I be creating a different file browser for each?
i am working on a music player and i am using this library for navigation and as soon as i select a file the dialog file closes and the file does not load but when i open the file dialog again, it works
`void Window::Update() {
ImGui::SFML::Update(m_window, deltaClock.restart());
if (ImGui::Begin("FILE EXPLORER"))
{
if (ImGui::Button("Select Directory"))
m_browser.Open();
}
ImGui::End();
static float volume = 100;
static bool pause = false;
ImGui::Begin("Volume Manager");
ImGui::SliderFloat("vol", &volume, 0, 100);
ImGui::End();
ImGui::Begin("play manager");
ImGui::Checkbox("Pause", &pause);
ImGui:: End();
m_browser.Display();
if (m_browser.HasSelected())
{
if (!fileSelected)
{
filePath = m_browser.GetSelected().string();
std::cout << filePath << "selected" << std::endl;
player.load(filePath);
player.play(volume);
player.pause(pause);
fileSelected = true;
}
else {
fileSelected = false;
}
}
}`
the volume and pause only works when the file dialog closes the first time, not while the music is running
m_browser is of type ImGui::FIleBrowser
Hi,
I encounter an issue compiling your library under Ubuntu 18.04. I use the latest version of dear imgui and glfw + opengl3 implementation. Integrating the lib, compiling and everything worked as a charm. also calling and opening the dialog-windows works pretty fine. But here my problem starts: I am not able to select anything. Double-clicking on folders changes the text on the "OK"-Button to "open", but a frame later it disappears again and "OK" is the text again.
Finally clicking in "OK" gives back as "selected" the absolute folder path of the folder, in which the application is started.
I tried compiling it with clang-9.0.1 and gcc-9.0.1.
Here is my code:
#include <iostream>
// dear imgui: standalone example application for GLFW + OpenGL 3, using programmable pipeline
// If you are new to dear imgui, see examples/README.txt and documentation at the top of imgui.cpp.
// (GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan graphics context creation, etc.)
#include <imgui.h>
#include <imgui_impl_glfw.h>
#include <imgui_impl_opengl3.h>
#include <imfilebrowser.h>
#include <stdio.h>
// About Desktop OpenGL function loaders:
// Modern desktop OpenGL doesn't have a standard portable header file to load OpenGL function pointers.
// Helper libraries are often used for this purpose! Here we are supporting a few common ones (gl3w, glew, glad).
// You may use another loader/header of your choice (glext, glLoadGen, etc.), or chose to manually implement your own.
#if defined(IMGUI_IMPL_OPENGL_LOADER_GL3W)
#include <GL/gl3w.h> // Initialize with gl3wInit()
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLEW)
#include <GL/glew.h> // Initialize with glewInit()
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
#include <glad/glad.h> // Initialize with gladLoadGL()
#else
#include IMGUI_IMPL_OPENGL_LOADER_CUSTOM
#endif
// Include glfw3.h after our OpenGL definitions
#include <GLFW/glfw3.h>
// [Win32] Our example includes a copy of glfw3.lib pre-compiled with VS2010 to maximize ease of testing and compatibility with old VS compilers.
// To link with VS2010-era libraries, VS2015+ requires linking with legacy_stdio_definitions.lib, which we do using this pragma.
// Your own project should not be affected, as you are likely to link with a newer binary of GLFW that is adequate for your version of Visual Studio.
#if defined(_MSC_VER) && (_MSC_VER >= 1900) && !defined(IMGUI_DISABLE_WIN32_FUNCTIONS)
#pragma comment(lib, "legacy_stdio_definitions")
#endif
static void glfw_error_callback(int error, const char *description)
{
fprintf(stderr, "Glfw Error %d: %s\n", error, description);
}
int main(int, char **)
{
// Setup window
glfwSetErrorCallback(glfw_error_callback);
if (!glfwInit())
return 1;
// GL 3.0 + GLSL 130
const char *glsl_version = "#version 130";
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // 3.2+ only
//glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // 3.0+ only
// Create window with graphics context
GLFWwindow *window = glfwCreateWindow(1280, 720, "Dear ImGui GLFW+OpenGL3 example", NULL, NULL);
if (window == NULL)
return 1;
glfwMakeContextCurrent(window);
glfwSwapInterval(1); // Enable vsync
// Initialize OpenGL loader
#if defined(IMGUI_IMPL_OPENGL_LOADER_GL3W)
bool err = gl3wInit() != 0;
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLEW)
bool err = glewInit() != GLEW_OK;
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
bool err = gladLoadGL() == 0;
#else
bool err = false; // If you use IMGUI_IMPL_OPENGL_LOADER_CUSTOM, your loader is likely to requires some form of initialization.
#endif
if (err)
{
fprintf(stderr, "Failed to initialize OpenGL loader!\n");
return 1;
}
// Setup Dear ImGui context
IMGUI_CHECKVERSION();
ImGui::CreateContext();
ImGuiIO &io = ImGui::GetIO();
(void)io;
//io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
//io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
// Setup Dear ImGui style
ImGui::StyleColorsDark();
//ImGui::StyleColorsClassic();
// Setup Platform/Renderer bindings
ImGui_ImplGlfw_InitForOpenGL(window, true);
ImGui_ImplOpenGL3_Init(glsl_version);
// Our state
bool show_demo_window = true;
bool show_another_window = true;
ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f);
// Main loop
while (!glfwWindowShouldClose(window))
{
// Poll and handle events (inputs, window resize, etc.)
// You can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if dear imgui wants to use your inputs.
// - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application.
// - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application.
// Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags.
glfwPollEvents();
// Start the Dear ImGui frame
ImGui_ImplOpenGL3_NewFrame();
ImGui_ImplGlfw_NewFrame();
ImGui::NewFrame();
// create a window for an iamge
{
bool show_bar_file_open = false;
bool show_bar_file_save = false;
bool show_bar_file_saveas = false;
bool show_bar_file_close = false;
ImGuiWindowFlags window_flags = 0;
window_flags |= ImGuiWindowFlags_MenuBar;
ImGuiFileBrowserFlags openFileDialogFlags = 0;
openFileDialogFlags |= ImGuiFileBrowserFlags_SelectDirectory;
openFileDialogFlags |= ImGuiFileBrowserFlags_CloseOnEsc;
openFileDialogFlags |= ImGuiFileBrowserFlags_EnterNewFilename;
openFileDialogFlags |= ImGuiFileBrowserFlags_CreateNewDir;
ImGui::FileBrowser openFileDialog(openFileDialogFlags);
// (optional) set browser properties
openFileDialog.SetTitle("Open ...");
// openFileDialog.SetTypeFilters({".png", ".jpg", ".jpeg", ".bmp"});
bool p_open = true;
ImGui::Begin("FilterApplier", &p_open, window_flags);
ImGui::PushItemWidth(ImGui::GetFontSize() * -12);
// Menu Bar
if (ImGui::BeginMenuBar())
{
if (ImGui::BeginMenu("File"))
{
ImGui::MenuItem("Open", NULL, &show_bar_file_open);
ImGui::MenuItem("Save", NULL, &show_bar_file_save);
ImGui::MenuItem("Save as..", NULL, &show_bar_file_saveas);
ImGui::MenuItem("Close", NULL, &show_bar_file_close);
ImGui::EndMenu();
}
if (ImGui::BeginMenu("Tools"))
{
ImGui::EndMenu();
}
ImGui::EndMenuBar();
}
if (show_bar_file_open)
{
openFileDialog.Open();
// show_bar_file_open = false;
std::cout << "Clicked open dialog" << std::endl;
}
openFileDialog.Display();
if (openFileDialog.HasSelected())
{
std::cout << "Selected filename " << openFileDialog.GetSelected().string() << std::endl;
openFileDialog.ClearSelected();
}
ImGui::End();
}
// Rendering
ImGui::Render();
int display_w, display_h;
glfwGetFramebufferSize(window, &display_w, &display_h);
glViewport(0, 0, display_w, display_h);
glClearColor(clear_color.x, clear_color.y, clear_color.z, clear_color.w);
glClear(GL_COLOR_BUFFER_BIT);
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
glfwSwapBuffers(window);
}
// Cleanup
ImGui_ImplOpenGL3_Shutdown();
ImGui_ImplGlfw_Shutdown();
ImGui::DestroyContext();
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
C++17 is the only standard this header can be compiled with. Anything below has no filesystem support and anything above (so currently only C++20) complains about char8_t not being convertible to char.
What I've done to isolate the issue:
sequence.🗿
to another folder | ERRORThe exception in question:
Unhandled exception at 0x00007FF83338CF19 in program.exe: Microsoft C++ exception: std::system_error at memory location 0x000000B6F7F0CC38.
KernelBase.dll!00007ff83338cf19() Unknown
vcruntime140d.dll!00007fffe523b760() Unknown
program.exe!std::_Throw_system_error_from_std_win_error(const __std_win_error _Errno) Line 65 C++
program.exe!std::_Check_convert_result(const __std_fs_convert_result _Result) Line 72 C++
program.exe!std::_Convert_wide_to_narrow<std::char_traits<char>,std::allocator<char>>(const __std_code_page _Code_page, const std::basic_string_view<wchar_t,std::char_traits<wchar_t>> _Input, const std::allocator<char> & _Al) Line 85 C++
program.exe!std::filesystem::_Convert_wide_to<std::char_traits<char>,std::allocator<char>,char>(const std::basic_string_view<wchar_t,std::char_traits<wchar_t>> _Input, const std::allocator<char> & _Al) Line 152 C++
program.exe!std::filesystem::path::string<char,std::char_traits<char>,std::allocator<char>,0>(const std::allocator<char> & _Al) Line 931 C++
program.exe!std::filesystem::path::string() Line 935 C++
program.exe!ImGui::FileBrowser::IsExtensionMatched(const std::filesystem::path & _extension) Line 890 C++
program.exe!ImGui::FileBrowser::Display() Line 515 C++
program.exe!SDL_main(int argc, char * * args) Line 156 C++
program.exe!main_getcmdline() Line 82 C
[External Code]
Looking at the call stack and using context, the problem most likely lies in ImGui::FileBrowser::IsExtensionMatched()
Hi! I have a proposition:
I'd like to see different behaviour when Shift is pressed, re. what happens when Ctrl is pressed. Shift+Click normally selects all files in the range from the previous selection to the currently clicked entry, so it can be used to quickly select several files. Making no difference between Shift and Ctrl is unexpected. With the current behaviour, obtaining large selections is cumbersome. I'd also like a way to quickly select all listed files (like Ctrl+A).
ImGui::Begin(name);
if(ImGui::Begin("dummy window"))
{
// open file dialog when user clicks this button
if(ImGui::Button("open file dialog"))
fileDialog.Open();
ImGui::End(); //add here
}
ImGui::End();
Hi, nice filebrowser!
For single file selection it would be nice to be able to double click a file to open it.
An incomplete solution is doing something like
if (IsItemClicked(0) && IsMouseDoubleClicked(0)) {
if(rsc.isDir)
{
setNewPwd = true;
newPwd = (rsc.name != "..") ? (pwd_ / rsc.name) :
pwd_.parent_path();
} else if (selected && !(flags_ & ImGuiFileBrowserFlags_SelectDirectory)) { // double click on file
ok_ = true;
CloseCurrentPopup();
}
}
but that only works for double-clicking a non-selected file. Double-clicking an already selected file deselect and forgets the file with the first click.
Multiple errors will occur stating "error C2672: 'std::tolower': no matching overloaded function found"; this is only due to the fact that the cctype header is not included at the top of the file so only a template overload which requires a std::locale instance as a second argument is visible to the compiler.
When the select directory flag is set, only want to show directories.
In a directory browser, if you press ok without selecting anything then ok_
is still set, so HasSelected()
is true despite selectedFilenames_
being empty, which means user code that calls GetSelected()
will crash (begin()
points nowhere). Here is a small fix that returns the current directory in that case, preventing the crash, and providing reasonably intuitive behaviour.
diff --git a/imgui-filebrowser/imfilebrowser.h b/imgui-filebrowser/imfilebrowser.h
index 8b92c598..18909c8f 100644
--- a/imgui-filebrowser/imfilebrowser.h
+++ b/imgui-filebrowser/imfilebrowser.h
@@ -587,6 +587,10 @@ inline const class std::filesystem::path &ImGui::FileBrowser::GetPwd() const noe
inline std::filesystem::path ImGui::FileBrowser::GetSelected() const
{
+ if ((flags_ & ImGuiFileBrowserFlags_SelectDirectory) && selectedFilenames_.empty())
+ {
+ return pwd_;
+ }
return pwd_ / *selectedFilenames_.begin();
}
If absolutely necessary I could go through the pull request dance...
First of all, amazing file browser, works great!
I'm having a small issue though. When selecting a file with special characters, GetSelected()
returns the name correctly. But when entering a new name with special characters (window created with ImGuiFileBrowserFlags_EnterNewFilename
), GetSelected()
will break those characters.
As a workaround, I fixed the problem by changing line 665 like this:
selectedFilenames_ = { std::filesystem::u8path(inputNameBuf_->data()) };
But probably there's a better way to do it that also takes into account other InputText
, like when creating a new folder (didn't test if it works fine).
Greetings!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.