This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
programming:gtk4 [2022/03/21 04:51] nanodano |
programming:gtk4 [2022/03/21 05:19] (current) nanodano |
||
|---|---|---|---|
| Line 150: | Line 150: | ||
| cd libsigc++-3.2.0 | cd libsigc++-3.2.0 | ||
| cmake . | cmake . | ||
| + | ./ | ||
| make | make | ||
| sudo make install | sudo make install | ||
| Line 158: | Line 159: | ||
| tar xzf glibmm-2.70.0.tar.gz | tar xzf glibmm-2.70.0.tar.gz | ||
| cd glibmm-2.70.0 | cd glibmm-2.70.0 | ||
| - | ./ | + | ./ |
| make | make | ||
| sudo make install | sudo make install | ||
| Line 167: | Line 168: | ||
| tar xBf cairomm-1.16.1.tar.xz | tar xBf cairomm-1.16.1.tar.xz | ||
| cd cairomm-1.16.1 | cd cairomm-1.16.1 | ||
| - | ./ | + | ./ |
| make | make | ||
| sudo make install | sudo make install | ||
| Line 176: | Line 177: | ||
| tar xzf pangomm-2.50.0.tar.gz | tar xzf pangomm-2.50.0.tar.gz | ||
| cd pangomm-2.50.0 | cd pangomm-2.50.0 | ||
| - | ./ | + | ./ |
| make | make | ||
| sudo make install | sudo make install | ||
| Line 185: | Line 186: | ||
| tar xBf gtkmm-4.6.0.tar.xz | tar xBf gtkmm-4.6.0.tar.xz | ||
| cd gtkmm-4.6.0 | cd gtkmm-4.6.0 | ||
| - | ./ | + | ./ |
| make | make | ||
| sudo make install | sudo make install | ||
| Line 191: | Line 192: | ||
| </ | </ | ||
| + | |||
| + | |||
| + | When compiling, use '' | ||
| + | |||
| + | <code bash> | ||
| + | # Compile app with gtk4 | ||
| + | g++ main.cpp `pkg-config gtkmm-4.0 --cflags --libs` -std=c++20 | ||
| + | |||
| + | # Set path for shared library when running | ||
| + | LD_LIBRARY_PATH=/ | ||
| + | </ | ||
| + | |||
| + | Here is a gtkmm hello world: | ||
| + | |||
| + | <code cpp main.cpp> | ||
| + | // gtkmm4 example | ||
| + | |||
| + | // Compile with: | ||
| + | // g++ main.cpp `pkg-config gtkmm-4.0 --cflags --libs` -std=c++20 | ||
| + | |||
| + | // Run with | ||
| + | // LD_LIBRARY_PATH=/ | ||
| + | #include < | ||
| + | |||
| + | class MyWindow : public Gtk::Window | ||
| + | { | ||
| + | public: | ||
| + | MyWindow(); | ||
| + | }; | ||
| + | |||
| + | MyWindow:: | ||
| + | { | ||
| + | set_title(" | ||
| + | set_default_size(200, | ||
| + | } | ||
| + | |||
| + | int main(int argc, char* argv[]) | ||
| + | { | ||
| + | auto app = Gtk:: | ||
| + | |||
| + | return app-> | ||
| + | } | ||
| + | </ | ||