Giter Site home page Giter Site logo

alexzhangrj / wxformbuilder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wxformbuilder/wxformbuilder

0.0 1.0 0.0 14.09 MB

A wxWidgets GUI Builder

Home Page: https://github.com/wxFormBuilder/wxFormBuilder/releases

License: GNU General Public License v2.0

Lua 12.65% Batchfile 0.06% Shell 1.31% Makefile 2.64% Inno Setup 0.03% HTML 6.22% C++ 7.95% C 67.85% CSS 0.02% Roff 0.08% Meson 0.02% TeX 0.12% PostScript 0.02% CMake 0.43% Perl 0.42% VBScript 0.08% Tcl 0.01% SmPL 0.01% Elixir 0.09%

wxformbuilder's Introduction

wxFormBuilder

Windows Status Linux Status macOS Status

wxFormBuilder is a GUI builder for the wxWidgets framework.

Code generation is supported for C++, Python, XRC, wxLua and PHP. Additionally, the import and export of XRC code is possible. To support additional widgets custom plugins can be used.

wxFormBuilder runs on Windows, various Linux distributions and macOS.

Download Binaries

Install from Source with CMake

Building from source requires the fairly recent CMake version 3.21. Most Linux distributions don't contain this version in their package repositories currently, the CMake website offers binary downloads for multiple platforms. wxFormBuilder uses the wxWidgets framework itself, it is highly recommended using the current development version 3.1.x. The latest stable version 3.0.x is known to cause multiple issues and should be avoided.

Windows

Building on Windows has been tested with MSVC, Mingw-w64 and MSYS2 in 32 bit and 64 bit mode. Using MSYS2 is a bit more convenient because it offers the required libraries precompiled and CMake can find them automatically. Using the other compilers it might be necessary to specify the library locations manually. The following instructions use MSYS2.

Install MSYS2 and open a MINGW32 or MINGW64 shell.

Installing the Prerequisites:

pacman -Syu
pacman -S ${MINGW_PACKAGE_PREFIX}-toolchain ${MINGW_PACKAGE_PREFIX}-cmake ${MINGW_PACKAGE_PREFIX}-make git
pacman -S ${MINGW_PACKAGE_PREFIX}-wxWidgets3.1 ${MINGW_PACKAGE_PREFIX}-boost

Building:

git clone --recursive https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
cmake -S . -B _build -G "MSYS Makefiles" --install-prefix "$PWD/_install" -DCMAKE_BUILD_TYPE=Release
cmake --build _build --config Release -j `nproc`
cmake --install _build --config Release

Running:

_install/bin/wxFormBuilder

Linux

Building on Linux has been tested on Ubuntu and Fedora with GCC in 64 bit mode but should work on many more distributions.

Ubuntu

Installing the Prerequisites:

sudo apt install libwxgtk3.0-gtk3-dev libwxgtk-media3.0-gtk3-dev libboost-dev cmake make git

Building:

git clone --recursive https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
cmake -S . -B _build -G "Unix Makefiles" --install-prefix "$PWD/_install" -DCMAKE_BUILD_TYPE=Release -DWXFB_WXWIDGETS_ENABLE_30=ON
cmake --build _build --config Release -j `nproc`
cmake --install _build --config Release

Running:

_install/bin/wxformbuilder

Fedora

Installing the Prerequisites:

sudo dnf install wxGTK wxGTK-media boost-devel cmake make git

Building:

git clone --recursive https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
cmake -S . -B _build -G "Unix Makefiles" --install-prefix "$PWD/_install" -DCMAKE_BUILD_TYPE=Release
cmake --build _build --config Release -j `nproc`
cmake --install _build --config Release

Running:

_install/bin/wxformbuilder

macOS

Building on macOS has been tested with Clang in 64 bit mode using Xcode and make. The required libraries can be installed via Homebrew.

Installing the Prerequisites:

brew update
brew install wxwidgets boost cmake make git

Building:

git clone --recursive https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
cmake -S . -B _build -G "Unix Makefiles" --install-prefix "$PWD/_install" -DCMAKE_BUILD_TYPE=Release
cmake --build _build --config Release -j `sysctl -n hw.ncpu`
cmake --install _build --config Release

Running:

open _install/wxFormBuilder.app

Install from Source with Premake/Meson (deprecated)

Previously Premake and Meson have been used for building but support for these build systems has been dropped in favor for CMake. Building with these systems is more difficult and the result doesn't work on every platform without issues. Both systems will be removed in the future, the documentation is kept for reference until that time.

Windows (MSYS2)

Install MSYS2 and run the following inside a MinGW 32 bit shell:

pacman -Syu
pacman -S --needed mingw-w64-i686-gcc mingw-w64-i686-wxWidgets3.1 make git
git clone --recursive --depth=1 https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
cmd.exe /C "create_build_files4.bat --wx-root=/mingw32/bin --force-wx-config=versioned --wx-version=3.1"
ln -s /mingw32/include/binutils/ansidecl.h /mingw32/include/ansidecl.h
ln -s /mingw32/include/binutils/bfd.h /mingw32/include/bfd.h
ln -s /mingw32/include/binutils/diagnostics.h /mingw32/include/diagnostics.h
ln -s /mingw32/include/binutils/symcat.h /mingw32/include/symcat.h
ln -s /mingw32/lib/binutils/libbfd.a /mingw32/lib/libbfd.a
ln -s /mingw32/lib/binutils/libiberty.a /mingw32/lib/libiberty.a
cd build/3.1/gmake
sed 's!\$(LDFLAGS) \$(RESOURCES) \$(ARCH) \$(LIBS)!\$(LIBS) \$(LDFLAGS) \$(RESOURCES) \$(ARCH)!g' *.make -i
make config=release

Run:

cd ../../../output/
./wxFormBuilder.exe

Linux

Notice: Distributions that use architecture based subdirectories for libraries currently fail to load the plugins, for a workaround see #524

Pre-requisites for Ubuntu:

sudo apt install libwxgtk3.0-gtk3-dev libwxgtk-media3.0-gtk3-dev meson

Pre-requisites for Arch Linux:

sudo pacman -Syu --needed meson wxgtk2

Build and run:

git clone --recursive --depth=1 https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
meson _build --prefix $PWD/_install --buildtype=release
ninja -C _build install
./_install/bin/wxformbuilder

macOS

Notice: On recent macOS versions >= 11 wxFormBuilder fails to build and/or run, there is no solution available currently

Pre-requisites for macOS can be installed via Homebrew:

brew install dylibbundler make wxwidgets

Note: Building with Xcode currently does not work without issues (see #247). Therefore, it is recommended to build with GNU make like as described below:

git clone --recursive --depth=1 https://github.com/wxFormBuilder/wxFormBuilder
cd wxFormBuilder
./create_build_files4.sh
cd build/3.1/gmake
make config=release

Run:

cd ../../../output/
open wxFormBuilder.app

wxformbuilder's People

Contributors

sodevel avatar jhasse avatar kvaz1r avatar eldarkg avatar patlkli avatar randalphwa avatar rjpcomputing avatar jmoraleda avatar nohal avatar usyer avatar tomay3000 avatar acolomb avatar ryanjmulder avatar anode85 avatar muellermartin avatar mengguang avatar omniblade avatar a-atalla avatar luzpaz avatar osnipezzini avatar jacobospain avatar redtide avatar jackburridge avatar dwt2 avatar tct2k avatar twh2898 avatar thedogeoftheinternet avatar shamtam avatar newpagodi avatar jgonzalezdr avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.