mitsuba-renderer / nanogui

Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL
Other
1.52k stars 189 forks source link

Failed to build on MSYS2 MINGW64 #150

Closed ghost closed 1 year ago

ghost commented 1 year ago
[64/92] Building CXX object src/python/CMakeFiles/nanogui-python.dir/main.cpp.obj
FAILED: src/python/CMakeFiles/nanogui-python.dir/main.cpp.obj
C:\msys64\mingw64\bin\c++.exe -DGLAD_GLAPI_EXPORT -DNANOGUI_GLAD -DNANOGUI_PYTHON -DNANOGUI_SHARED -DNANOGUI_USE_OPENGL -DNVG_SHARED -Dnanogui_python_EXPORTS -IC:/msys64/home/Administrator/nanogui/build -IC:/msys64/home/Administrator/nanogui/ext/nanobind/include -IC:/msys64/home/Administrator/nanogui/include -IC:/msys64/home/Administrator/nanogui/ext/nanovg/src -IC:/msys64/home/Administrator/nanogui/ext/glad/include -IC:/msys64/home/Administrator/nanogui/ext/glfw/include -isystem C:/Users/Administrator/AppData/Local/Programs/Python/Python310/include -Wall -Wextra -O3 -DNDEBUG -std=gnu++17 -flto=auto -fno-fat-lto-objects -fvisibility=hidden -march=nehalem -fno-stack-protector -Os -Wno-unused-variable -MD -MT src/python/CMakeFiles/nanogui-python.dir/main.cpp.obj -MF src\python\CMakeFiles\nanogui-python.dir\main.cpp.obj.d -o src/python/CMakeFiles/nanogui-python.dir/main.cpp.obj -c C:/msys64/home/Administrator/nanogui/src/python/main.cpp
In file included from C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nanobind.h:46,
                 from C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/stl/string.h:12,
                 from C:/msys64/home/Administrator/nanogui/src/python/python.h:10,
                 from C:/msys64/home/Administrator/nanogui/src/python/main.cpp:3:
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:20:17: error: 'dllexport' implies default visibility, but 'class nanobind::python_error' has already been declared with a different visibility
   20 | class NB_EXPORT python_error : public std::exception {
      |                 ^~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:48:17: error: 'dllexport' implies default visibility, but 'class nanobind::next_overload' has already been declared with a different visibility
   48 | class NB_EXPORT next_overload : public std::exception {
      |                 ^~~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:56:17: error: 'dllexport' implies default visibility, but 'class nanobind::cast_error' has already been declared with a different visibility
   56 | class NB_EXPORT cast_error : public std::exception {
      |                 ^~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:64:17: error: 'dllexport' implies default visibility, but 'class nanobind::builtin_exception' has already been declared with a different visibility
   64 | class NB_EXPORT builtin_exception : public std::runtime_error {
      |                 ^~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:78:14: error: 'dllexport' implies default visibility, but 'class nanobind::stop_iteration' has already been declared with a different visibility
   78 | NB_EXCEPTION(stop_iteration)
      |              ^~~~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:79:14: error: 'dllexport' implies default visibility, but 'class nanobind::index_error' has already been declared with a different visibility
   79 | NB_EXCEPTION(index_error)
      |              ^~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:80:14: error: 'dllexport' implies default visibility, but 'class nanobind::key_error' has already been declared with a different visibility
   80 | NB_EXCEPTION(key_error)
      |              ^~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:81:14: error: 'dllexport' implies default visibility, but 'class nanobind::value_error' has already been declared with a different visibility
   81 | NB_EXCEPTION(value_error)
      |              ^~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:82:14: error: 'dllexport' implies default visibility, but 'class nanobind::type_error' has already been declared with a different visibility
   82 | NB_EXCEPTION(type_error)
      |              ^~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:83:14: error: 'dllexport' implies default visibility, but 'class nanobind::buffer_error' has already been declared with a different visibility
   83 | NB_EXCEPTION(buffer_error)
      |              ^~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:84:14: error: 'dllexport' implies default visibility, but 'class nanobind::import_error' has already been declared with a different visibility
   84 | NB_EXCEPTION(import_error)
      |              ^~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:85:14: error: 'dllexport' implies default visibility, but 'class nanobind::attribute_error' has already been declared with a different visibility
   85 | NB_EXCEPTION(attribute_error)
      |              ^~~~~~~~~~~~~~~
C:/msys64/home/Administrator/nanogui/ext/nanobind/include/nanobind/nb_error.h:71:21: note: in definition of macro 'NB_EXCEPTION'
   71 |     class NB_EXPORT type : public builtin_exception {               \
      |                     ^~~~
ninja: build stopped: subcommand failed.
wjakob commented 1 year ago

MinGW is not supported.