wxWidgets和Golang

我想在wxWidgets中使用多操作系统GUI在Go中开发程序,我的开发环境是WinXP x86。 </ p>

我想使用wxWidgets Go包装器 wxGo </ a>,但是文档非常简洁,该项目似乎已经停滞了2年。</ p>

我在 go github.com/JeroenD/wxGo </ code>中遇到了一些错误 >和去安装github.com/JeroenD/wxGo </ p>

去得到github.com/JeroenD/wxGo </ code>的结果:</ p>

 包github.com/JeroenD/wxGo
导入github.com/JeroenD/wxGo
导入github.com/JeroenD/wxGo:C:\Documents中没有Go源文件 和设置\ dell \ Mes文档\ gopath \ src \ github.com \ JeroenD \ wxGo
</ code> </ pre>

的结果请安装github.com/JeroenD/wxGo </ code>:</ p>

 无法加载软件包:软件包github.com/JeroenD/wxGo:C:\Documents and Settings \ dell \中没有Go源文件 Mes文件\ gopath \ src \ github.com \ JeroenD \ wxGo 
</ code> </ pre>

我尝试遵循JeroenD的github中的Building.txt文档。 第一次,我下载并安装了wxWidgets,示例代码能够编译(使用MinGW),但是我无法从源代码编译wxWidgets库。 第二次,我下载并安装了 wxPack ,并且已经编译了libs / dll 。 在这里,问题是我无法编译wxWidgets示例。</ p>

如JeroenD的github的Buiding.txt文档所述,我安装了SWIGWIN,但未从源代码将其编译为SWIG 现在支持Go(来自SWIG的文档)。 但是现在,我不知道如何使用包装器(wxGo),wxWidgets dll / libs和SWIG。 我想我读过SWIG需要* .i文件来进行语言到另一个的绑定,但是我在wxWidgets文件夹中找不到任何文件,也许我必须从另一个wxWidgets绑定中获取这些文件(wxLua和wxPython在它们的目录中包含了这些文件。 </ p>

我的目标只是让wxWidgets库与Go一起使用,以便能够在wxWidgets中编写多OS GUI,我感到惊讶的是,没有人发布过与之相关的问题 JeroenD的软件包,也不想让wxWidgets与Go一起使用。</ p>

您可能会问,用go-gtk构建gtk GUI并不是解决方案,因为在我的项目中需要使用 多操作系统GUI外观OS本机(如果您有一个多操作系统GUI库,它看起来本机且更易于使用,请告诉我)。</ p>
</ div>

展开原文

原文

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个回答



wxGO GO的wxWidgets包装器在此处 wxGO MultiOS </ p>
</ div>

展开原文

原文

wxGO wxWidgets wrapper for GO is live here wxGO MultiOS



根据 Building.txt 文件:</ p>

 要构建wxGo库:
cd wx
make install
</ code> < / pre>

因此,尽管这是一个Go软件包,但它似乎并没有使用任何实际的Go代码(如果您在github.com/JeroenD/wxGo中查看,您将看不到任何 .go </ code>文件)。</ p>

我认为,在这种情况下,您需要使用 git </ code>(而不是 go get < / code>)和 make install </ code>而不是 go install </ code>。</ p>

在Windows上,您可能希望获取适用于Windows的Git 安装程序,可以使此过程更加简单。</ p>

一旦构建,它看起来就像 您可以像往常一样在go代码中使用</ p>

 导入“ wx” 
</ code> </ pre>

(在 https://github.com/JeroenD/wxGo/blob/master/example/minimal/minimal.go )</ p>
</ div>

展开原文

原文

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)

donglu5047
donglu5047 完成我在文档中解释的内容后,我现在有最后一个错误:mingw32-make:***没有规则可以使目标C:\ Go \ / pkg / windows_386成为目标'_obj / wx-wx.dll' /swig/wx-wx.dll”。 停止。 如果有人能够使其正常运行,然后在此处发布您的解决方案,否则我认为我会放弃这一点,并在python / wxPython中制作我的应用...我认为JeroenD回购中使用的方式已经过时了,( 以前的go1),因为它讨论的是不再分发的文件(例如Make.pkg)。
大约 7 年之前 回复
douliao1911
douliao1911 好吧,wx github只是wxWidgets svn官方版本的5岁。 我在wxWidgets安装中找到了它们(C:\ wxWidgets2.8 \ include \ wx,来自我的wxPack安装)。 看来SWIG找不到这些头文件...
大约 7 年之前 回复
douwei9973
douwei9973 太好了:-)我会看仓库的叉子!
大约 7 年之前 回复
dongzheng4556
dongzheng4556 我宁愿计划分叉JeroenD的github存储库以应用我的更改并改善文档。
大约 7 年之前 回复
dtr32221
dtr32221 好的,下载并放入%GOPATH%\ src \ github.comJeroenD \ wxGo \ wx文件夹dlimpexp.h和version.h(取自wx github,我有相同的错误。
大约 7 年之前 回复
duanchendu69495
duanchendu69495 如果您设法使其正常运行,能否请您回答问题并将其标记为正确? 将来对其他人有用。 谢谢!
大约 7 年之前 回复
dongqiong8021
dongqiong8021 不,Git-Bash没有帮助(结果完全相同)。 我从golang的github下载了所需的Make.common和Make.inc文件,并将它们放在%GOROOT%\ src \文件夹中。 然后我的错误是%GOROOT%\ src \ Make.pkg的n°212行缺少“ -intgosize 32”参数。 这是我的新错误:我的评论太长了,这里是:链接我现在正在寻找dlimpexp.h和version.h
大约 7 年之前 回复
dpdp42233
dpdp42233 尝试从Git-Bash(适用于Windows的Git附带的Bash版本)而不是CMD.EXE或Powershell运行mingw32-make,因为它可能希望文件分隔符是正斜杠而不是反斜杠。
大约 7 年之前 回复
dongyun3897
dongyun3897 我在Windows(使用MinGW)上,因此我执行的命令是%GOPATH%\ src \ github.comJeroenD \ wxGo \ wx> mingw32-make install,结果如下:Makefile:12:C:\ Go \ /src/Make.inc:没有这样的文件或目录Makefile:28:C:\ Go \ /src/Make.pkg:没有这样的文件或目录mingw32-make:***没有规则可以使目标'C:\ Go \ /src/Make.pkg”。 停止。 然后,我将JeroenD的github中的Make.pkg文件放在%GOROOT%\ src \文件夹中,现在上一个命令的结果是:C:\ Go \ /src/Make.pkg:9:/ src / Make。 common:没有这样的文件或目录C:\ Go \ /src/Make.pkg:61:***缺少分隔符。 停止。
大约 7 年之前 回复



QML 也许是更好的选择,它有助于处理wxWidget或QT内衣。</ p>
</ div>

展开原文

原文

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

dtk31564
dtk31564 QML似乎是一个很棒的工具,但是它是为Qt设计的,所以我认为这超出了我的范围,我没有阅读任何有关使用QML处理wxWidgets的内容。 您能否指向我一个链接或解释它对wxWidgets有何帮助?
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问