duandong2562
duandong2562
2013-07-15 16:35

wxWidgets和Golang

  • wxwidgets
  • user-interface
  • install
已采纳

I want to develop a programm in Go with a multi-OS GUI in wxWidgets, my dev environment is WinXP x86.

I wanted to use the wxWidgets Go wrapper wxGo, but the documentation is very succint and the project seems dead since 2 years.

I encountered some errors with the go get github.com/JeroenD/wxGo and go install github.com/JeroenD/wxGo

Result of go get github.com/JeroenD/wxGo:

package github.com/JeroenD/wxGo
    imports github.com/JeroenD/wxGo
    imports github.com/JeroenD/wxGo: no Go source files in C:\Documents and Settings\dell\Mes documents\gopath\src\github.com\JeroenD\wxGo

Result of go install github.com/JeroenD/wxGo:

can't load package: package github.com/JeroenD/wxGo: no Go source files in C:\Documents and Settings\dell\Mes documents\gopath\src\github.com\JeroenD\wxGo

I tried to follow the Building.txt doc from JeroenD's github. First time, I downloaded and installed wxWidgets, the sample codes were able to compile (with MinGW), but I was not able to compile the wxWidgets library from source. The second time, I downloaded and installed wxPack, with libs/dll already compiled. Here, the problem is I can't compile the wxWidgets samples.

As stated in the Buiding.txt doc from JeroenD's github, I installed SWIGWIN, but did not compile it from source as SWIG now supports Go (from SWIG's documentation). But now, I don't know what to do with a wrapper (wxGo), wxWidgets dll/libs, and SWIG. I think I read that SWIG needs *.i files to make bindings from language to another, but I can't find any in my wxWidgets folder, perhaps I have to take these files from another wxWidgets binding (wxLua and wxPython have these in their repos).

My goal is just to get the wxWidgets lib working with Go to be able to write a multi OS GUI in wxWidgets, I'm a bit surprised that nobody had posted problems with JeroenD's package nor wanted to get wxWidgets working with Go.

As you may ask, building a gtk GUI with go-gtk is not a solution, as it is needed in my project to have a multi-OS GUI looking OS native (if you have a multi-OS GUI lib which looks native and is simpler to use, please tell me).

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • dsf5632 dsf5632 4年前

    wxGO wxWidgets wrapper for GO is live here wxGO MultiOS

    点赞 评论 复制链接分享
  • dongtuo3530 dongtuo3530 8年前

    According to the Building.txt file:

    To build the wxGo library:
    cd wx
    make install
    

    So, despite this being a Go package, it doesn't seem to use any actual Go code (if you look in github.com/JeroenD/wxGo you won't see any .go files).

    I think, in cases like this, you need to use git (instead of go get) and make install instead of go install.

    On windows you may want to get the Git for Windows installer to make this process a bit simpler.

    Once it's built it looks like you can use

    import "wx"
    

    as usual in your go code (minimal example at https://github.com/JeroenD/wxGo/blob/master/example/minimal/minimal.go)

    点赞 评论 复制链接分享
  • douanrang4728 douanrang4728 8年前

    QML may be a better choice, it helps deal with wxWidget or QT underwear.

    点赞 评论 复制链接分享

为你推荐