找回密码
 注册
Simdroid-非首页
查看: 503|回复: 12

[其他] 一些开源软件介绍(4)

[复制链接]
发表于 2011-8-5 05:50:08 | 显示全部楼层 |阅读模式 来自 英国
本帖最后由 myleader 于 2011-8-5 18:43 编辑

最近看着OpenSees研究的人比较多,故特发此贴,以示支持

我们在自己编写程序时,很多时候需要做界面,目前市面上流行的界面库有:MFC、WinForm、WPF、Tcl/Tk、WxWidget、QT……其中Tcl/Tk、WxWidget、QT是使用比较广泛的3个开源软件包。Tcl/Tk最为轻量级,使用简单,界面效果特别朴素,支持脚本;WxWidget语法与MFC类似,上手快,界面效果一般;QT功能最强大,开发速度快,效果华丽,只不过许可协议不如前两者友好。

这3个软件包都特别有名,具体的我就不介绍了。而且都有现成的二进制文件下载,不过如果你有特殊需求需要重新编译的话,可以参照此文

OpenSees依赖的图形界面库是Tcl/Tk,这里简单讲解一下这个软件包的编译方法
1)首先到
http://www.tcl.tk/software/tcltk/download.html
下载源码,目前最新版是8.5.10稳定版和8.6测试版,通常我都会选择稳定版,因为我没有能力也没有精力去调试这么基础的包。一共有两个源码包分别针对Tcl和Tk,这两个都要下载
2)然后把两个软件包分别解压缩,得到Tcl和Tk两个目录
3)如果你是用Visual Studio编译器,则从开始菜单->VC的目录->可能的某个子目录下有一个命令行工具,从这里进入命令行可以把VC的一些命令加入到PATH中,这样可以直接执行
4)进入之前解压缩得到的Tcl目录下的win目录,敲下面的命令
  1. nmake -nologo -f makefile.vc release
  2. nmake -nologo -f makefile.vc install INSTALLDIR=E:\TclTk
复制代码
其中nmake是VC自带的make,然后你就可以在INSTALLDIR找到编译完成的Tcl二进制文件和头文件
5)不要关闭这个命令行窗口,进入Tk目录下的win目录,敲下面的命令
  1. nmake -nologo -f makefile.vc release TCLDIR=你之前解压缩的Tcl源码目录
  2. nmake -nologo -f makefile.vc install INSTALLDIR=E:\TclTk
复制代码
最后的INSTALLDIR理论上可以设置成Tcl和Tk不同,不过这没什么意思,所以我通常都是一锅炖的

如果你是用的是mingw编译器,那么从第3)步开始有所不同,按照
http://wiki.tcl.tk/14828
的参考信息
3)不要通过VC的命令行工具进入命令行,而是用msys进入命令行
4)进入之前解压缩得到的Tcl目录,敲下面的命令

  1. mkdir build
  2. cd build
  3. mkdir Tcl
  4. cd Tcl
  5. ../../win/configure --prefix=/e/TclTk
  6. mingw32-make release
  7. mingw32-make install
复制代码
5)不要关闭这个msys命令行窗口,进入Tk目录,敲下面的命令

  1. mkdir build
  2. cd build
  3. mkdir Tk
  4. cd Tk
  5. ../../win/configure --prefix=/e/TclTk --with-tcl=刚刚的Tcl目录/build/Tcl
  6. mingw32-make release
  7. mingw32-make install
复制代码
这样就会在prefix目录下生成二进制文件

注意VC和mingw编译出来的二进制文件是不能混用的,其内部格式不一样,OpenSees网站上提供的可执行文件
http://opensees.berkeley.edu/OpenSees
是VC编译的,所以配合的需要VC编译的Tcl/Tk,当然你也可以从
http://www.activestate.com/activetcl
下载别人已经编译好的Tcl/Tk,这个是VC编译的。

最近偶正在研究用mingw编译OpenSees,等有了成果再发帖

评分

1

查看全部评分

发表于 2011-8-5 08:40:04 | 显示全部楼层 来自 美国
Simdroid开发平台
好东西,谢谢分享。
回复 不支持

使用道具 举报

发表于 2011-8-6 11:24:53 | 显示全部楼层 来自 上海闸北区
最近看着OpenSees研究的人比较多,故特发此贴,以示支持

我们在自己编写程序时,很多时候需要做界面,目 ...
myleader 发表于 2011-8-5 05:50

wx上手不快的,中文参考资料也比较少,半路出家写GUI的话,还是三思而后行
Tk倒是非常容易上手,且Tcl、Ruby、Python和Perl都有各自对应Tk的绑定,中文资料的话,相对丰富一些,不过界面效果真的不怎么样。。。Ansys的全套GUI界面就是TK写的,老实说比较丑。Tk现在有一个新的分支:ttk,相当于Fortran90之与Fortran77,用法也简单,但可供参考的资料也不多。
Qt的话,现在好像windowss下也有LGPL协议了,matlab的界面似乎就是Qt编写的
回复 不支持

使用道具 举报

 楼主| 发表于 2011-9-3 18:12:43 | 显示全部楼层 来自 英国
pasuka 发表于 2011-8-6 11:24
wx上手不快的,中文参考资料也比较少,半路出家写GUI的话,还是三思而后行
Tk倒是非常容易上手,且Tcl、Ru ...

因为大部分中国程序员写界面的时候都是用MFC入门的,所以我才说wx上手容易,不过诚如pasuka所说,如果是半路出家,还是从其他方面入手比较好,WPF、QT都不错,gtk太难了,wx和MFC其实也很难
回复 不支持

使用道具 举报

 楼主| 发表于 2011-9-3 18:40:40 | 显示全部楼层 来自 英国
研究了很久,到底是没有搞定OpenSees的mingw编译方法,相对而言VC的编译方法很简单。

首先到
http://opensees.berkeley.edu/OpenSees
下载源代码,解压缩之后,进入源代码的Win32目录,里面提供了VC所需要的sln文件,目前OpenSees提供了VC7也就是2003版的sln,以及VC8也就是2005版的sln

考虑到VC2003和2005对C++标准支持的不好,我早已经把我的开发平台换到VC2008和mingw4.5了,所以这次使用VC2008来编译。实际检测VC2003的sln在2008下转换问题很多,无法编译完成,所以我劝大家使用VC2005的sln。另外OpenSees的Win32版对64位支持不太好,反正我没有成功编译64位版的

在Tools->Options->Project and Solution->VC++ directory中把之前编译的tcl/tk的include和lib目录添加进去,然后build solution

我试验时quickMain编译无法通过,好像是tcl的链接找不到,可是我明明已经把tcl的库文件放到系统目录了,可能还是有些问题吧,而且这个问题似乎是从2.2.2时代就遗留至今。不过没关系,总归是在Win32/bin目录下产生了openSees.exe和openSeesTk.exe,然后把这两个文件放到之前编译tcl/tk时的bin目录,就可以用了
回复 不支持

使用道具 举报

发表于 2011-9-4 18:47:01 | 显示全部楼层 来自 河南焦作
Python整界面
好像也没有tcl-tk方便
回复 不支持

使用道具 举报

发表于 2011-9-4 21:27:29 | 显示全部楼层 来自 上海闸北区
myleader 发表于 2011-9-3 18:12
因为大部分中国程序员写界面的时候都是用MFC入门的,所以我才说wx上手容易,不过诚如pasuka所说,如果是 ...

MFC的好处在于,帮助文档丰富,此外,用得人多遇到问题也容易解决
最容易的界面编写还是非VB莫属
回复 不支持

使用道具 举报

发表于 2011-9-6 13:52:16 | 显示全部楼层 来自 河南洛阳
VB的界面 貌似也比较丑
或许自己的功夫还没有到家
回复 不支持

使用道具 举报

发表于 2011-9-6 21:45:30 | 显示全部楼层 来自 河北石家庄
啊 学习中
回复 不支持

使用道具 举报

发表于 2011-9-7 09:38:30 | 显示全部楼层 来自 河南郑州
怎么没有提到openfoam啊,这个软件也很好!用的人很多
回复 不支持

使用道具 举报

发表于 2011-10-30 16:03:09 | 显示全部楼层 来自 四川大学
楼主有没有用过最新的mingw-w64,我在win64上用过这个mingw-w64-bin_i686-mingw_20110827,编译lapack和lapack95都没问题,一到编译GSL就不行了,后来换成ray linn自己编译的GCC4.6就能编译成功了,挺奇怪的。
回复 不支持

使用道具 举报

发表于 2011-11-3 20:06:44 | 显示全部楼层 来自 北京
了解一下……
回复 不支持

使用道具 举报

发表于 2012-1-27 12:36:27 | 显示全部楼层 来自 江苏扬州
很好的话题
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 22:20 , Processed in 0.042044 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表