如何在Mac上构建wxFormBuilder 3.x.

时间:2013-11-18 02:26:20

标签: python wxpython osx-mountain-lion wxformbuilder

我将wxFormBuilder 3.4 beta mac下载到相应的目录。

enter image description here

然后打开一个终端,我跑到sh create_build_files4.sh但是控制台显示错误。

MinSeok-ui-iMac-3:wxFormBuilder MinSeok$ sh create_build_files4.sh
create_build_files4.sh: line 7: wx-config: command not found
create_build_files4.sh: line 66: wx-config: command not found
make: *** ./premake/macosx: No such file or directory.  Stop.
create_build_files4.sh: line 91: ./premake/macosx/bin/release/premake4: No such file or directory
create_build_files4.sh: line 92: ./premake/macosx/bin/release/premake4: No such file or directory
create_build_files4.sh: line 93: ./premake/macosx/bin/release/premake4: No such file or directory
create_build_files4.sh: line 95: ./premake/macosx/bin/release/premake4: No such file or directory

我的环境是OS X Mountain Lion(也是小牛队)。我已安装wxPython版本为2.9.5。

我的问题是什么?...谷歌,从来没有给我提示。

提前感谢。

修改

我安装了wxWidgets 3.0并放置了premake4。我认为这似乎几乎接近解决。 wxFormBuilder使用lua脚本。但我不知道solution.lua脚本构建代码。任何提示? 请参阅下面的shell create_build_files4.sh脚本。有一件事是肯定必须知道solution.lua脚本代码。

#!/bin/sh

# Parse command line options
shared=""
arch=""
wxroot=""
wxpath=`wx-config --prefix`

# These works only on wxWidgets 2.8.10+
#wxcharset=`wx-config --query-chartype`
#wxversion=`wx-config --query-version`
for args in "$@"
do
    haveroot=`expr "${args}" : '--wx-root=.*'`
    havearch=`expr "${args}" : '--architecture=.*'`
    haverpath=`expr "${args}" : '--rpath=.*'`
    if ( [ ${args} = "--help" ] || [ ${args} = "-h" ] ); then
            echo "Available options:"
            echo
            echo "--disable-mediactrl       Disable wxMediaCtrl / wxMedia library."
            echo
            echo "--disable-shared          Use static wxWidgets build instead of shared libraries."
            echo
            echo "--disable-unicode         Whether to use an Unicode or an ANSI build."
            echo "                          Ignored in wxWidgets 2.9 and later."
            echo "                          Example: --disable-unicode produces an ANSI build."
            echo "                          Default: Unicode build on all versions."
            #       echo "                          Current: $wxcharset"
            echo
            echo "--wx-root                 Specify the wxWidgets build path,"
            echo "                          useful for wxWidgets builds not installed"
            echo "                          in your system (alternate/custom builds)"
            echo "                          Example: --wx-root=/home/devel/wx/3.0/buildgtk"
            echo "                          Current: $wxpath"
            echo
            echo "--architecture            Specify build architecture (e.g. --architecture=i386)."
            echo "--rpath                   Specify a rpath  (e.g. --rpath=/usr/lib/wxformbuilder)."
            echo
            exit
    elif [ ${args} = "--disable-mediactrl" ]; then
        mediactrl="--disable-mediactrl"
        continue
    elif [ ${args} = "--disable-unicode" ]; then
        wxunicode="--disable-unicode"
        continue
    elif [ ${args} = "--disable-shared" ]; then
        shared="--disable-shared"
        continue
    elif [ ${args} = "--disable-unicode" ]; then
        wxunicode="--disable-unicode"
        continue
    elif ( [ "$haveroot" -gt "0" ] ); then
        wxroot=${args}
        continue
    elif ( [ "$havearch" -gt "0" ] ); then
        arch=${args}
        continue
    elif ( [ "$haverpath" -gt "0" ] ); then
        rpath=${args}
        continue
    fi
done

# Autodetect wxWidgets version
if [ "$wxroot" = "" ]; then
    wxver=`wx-config --release`
else
    wxpath=${wxroot#-*=}
    wxver=`$wxpath/wx-config --release`
fi

wxversion="--wx-version="$wxver

# Autodetect OS
isbsd=`expr "$unamestr" : '.*BSD'`
platform="unknown"
unamestr=$(uname)

if ( [ "$isbsd" -gt "0" ] ); then
    platform="bsd"
elif [ "$unamestr" = "Linux" ]; then
    platform="linux"
elif [ "$unamestr" = "Darwin" ]; then
    platform="macosx"
fi

# Build premake
cd build
make CONFIG=Release -C./premake/$platform

./premake/$platform/bin/release/premake4 --file=./premake/solution.lua $wxunicode $wxroot $wxversion $mediactrl $shared $arch codeblocks
./premake/$platform/bin/release/premake4 --file=./premake/solution.lua $wxunicode $wxroot $wxversion $mediactrl $shared $arch $rpath codelite
./premake/$platform/bin/release/premake4 --file=./premake/solution.lua $wxunicode $wxroot $wxversion $mediactrl $shared $arch $rpath gmake
if [ "$platform" = "macosx" ]; then
   ./premake/$platform/bin/release/premake4 --file=./premake/solution.lua $wxunicode $wxroot $wxversion $mediactrl $shared $arch xcode3
fi

3 个答案:

答案 0 :(得分:1)

正如@melto指出的那样,稳定发布的版本3.1.70,对于os x也适用。 sourceforge http://sourceforge.net/projects/wxformbuilder/files/wxformbuilder/3.1.70/wxFormBuilder-3.1.dmg/download

的链接

答案 1 :(得分:0)

另一种方法是使用稳定版本: wxFormBuilder-3.1 这在Sourceforge上以dmg的形式提供。我认为这个包没有必要采取上述步骤。

答案 2 :(得分:-1)

您需要在计算机上安装 wx-config 。这包含在 wxWidgets (常见问题解答Mac:http://www.wxwidgets.org/docs/faqmac.htm#macplat)中。您需要记住,您需要安装Xcode才能继续。构建软件包需要一些时间。

  • 获取wxWidgets(即v.3.0.0 http://www.wxwidgets.org/downloads
  • 解压缩tar.bz2并构建它:

    tar -xfvj wxWidgets-3.0.0.tar.bz2

    cd wxWidgets-3.0.0

    ./配置

    sudo make install

  • 尝试再次运行shell skript