Closed whattis closed 5 years ago
I have this simple SDL application, with snippets of example2.cpp thrown in:
example2.cpp
#include "SDL.h" #include <SDL_opengl.h> #include <nanogui/screen.h> #include <nanogui/window.h> #include <nanogui/layout.h> #include <nanogui/label.h> #include <nanogui/checkbox.h> #include <nanogui/button.h> #include <nanogui/toolbutton.h> #include <nanogui/popupbutton.h> #include <nanogui/combobox.h> #include <nanogui/progressbar.h> #include <nanogui/entypo.h> #include <nanogui/messagedialog.h> #include <nanogui/textbox.h> #include <nanogui/slider.h> #include <nanogui/imagepanel.h> #include <nanogui/imageview.h> #include <nanogui/vscrollpanel.h> #include <nanogui/colorwheel.h> #include <nanogui/graph.h> #include <nanogui/formhelper.h> #include <iostream> using namespace nanogui; enum test_enum { Item1 = 0, Item2, Item3 }; int main(int, char**) { SDL_Window* window = SDL_CreateWindow("test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN); SDL_Renderer* render = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); SDL_Event* event = new SDL_Event(); bool quit = false; bool bvar = true; int ivar = 12345678; double dvar = 3.1415926; float fvar = (float)dvar; std::string strval = "A string"; test_enum enumval = Item2; Color colval(0.5f, 0.5f, 0.7f, 1.f); int winWidth = 1024; int winHeight = 768; Screen *screen = new Screen( window, Vector2i(winWidth, winHeight), "NanoGUI test"); bool enabled = true; FormHelper *gui = new FormHelper(screen); ref<Window> rwindow = gui->addWindow(Eigen::Vector2i(10, 10), "Form helper example"); gui->addGroup("Basic types"); gui->addVariable("bool", bvar); gui->addVariable("string", strval); gui->addGroup("Validating fields"); gui->addVariable("int", ivar); gui->addVariable("float", fvar); gui->addVariable("double", dvar); gui->addGroup("Complex types"); gui->addVariable("Enumeration", enumval, enabled) ->setItems({"Item 1", "Item 2", "Item 3"}); gui->addVariable("Color", colval); gui->addGroup("Other widgets"); gui->addButton("A button", [](){ std::cout << "Button pressed." << std::endl; }); screen->setVisible(true); screen->performLayout(); rwindow->center(); while(!quit && event->type != SDL_QUIT) { SDL_PollEvent(event); SDL_RenderClear(render); if (event->type == SDL_KEYDOWN) { switch(event->key.keysym.sym) { case SDLK_ESCAPE: quit = true; break; default: break; } } SDL_RenderPresent(render); } return 0; }
My folder structure is:
app/ test2.cpp libs/ nanogui-sdl/
What's the correct g++ command to compile and run test2.cpp? I tried many things but they all error.
g++
redesigned for sdl2 api only, try now
I have this simple SDL application, with snippets of
example2.cpp
thrown in:My folder structure is:
What's the correct
g++
command to compile and run test2.cpp? I tried many things but they all error.