- 浏览: 28227 次
最新评论
gomingw构建记录(仅runtime)
2011年03月07日
注意,不完整编译,仅8g、8l和runtime.a
1. gomingw
Go MinGW Builds Win32 (experimental) build of release 2011-03-07.1 http://code.google.com/p/gomingw/ 2. MSYS | MinGW MinGW - Minimalist GNU for Windows * gcc version 3.4.5 (mingw-vista special r3) * GNU Make 3.81 http://sourceforge.net/projects/mingw/ 或者用这个(未测试) https://bitbucket.org/jpoirier/go_mingw/downloads
3. 编译的额外工具
a. 需要以下工具和库(注意,依赖于mingw的运行时dll,故需要msys/mingw才可运行) * Ed - A line-oriented text editor (ed.exe,依赖于Regex) http://gnuwin32.sourceforge.net/packages/ed.htm http://www.gnu.org/software/ed/ed.html * LibIntl for Windows (libintl3.dll) http://gnuwin32.sourceforge.net/packages/libintl.h tm * Regex for Windows (regex2.dll) http://gnuwin32.sourceforge.net/packages/regex.htm * Bison for Windows (bison.exe,依赖于Regex和Libintl) http://gnuwin32.sourceforge.net/packages/bison.htm * The AWK Programming Language (awk.exe) http://cm.bell-labs.com/cm/cs/awkbook/index.html -------------------- b. 二进制可以在下面的链接中找到,不需要自己编译: * ed.exe和regex2.dll在gowin-env中。 https://bitbucket.org/akavel/gowin-env/downloads 或者在GnuWin32中安装。 http://gnuwin32.sourceforge.net/packages.html -------------------- c. 注意事项: * 必须复制bison的二进制安装包里的share目录(一些.m4文件) * 把msys/mingw自带的awk去掉或重命名,使用awk.exe代替原有的awk文件 -------------------- d. 用到的工具合计有(不包括一些依赖库的dll) gcc version 3.4.5 (mingw-vista special r3) GNU Make 3.81 GNU Ed 1.2 bison (GNU Bison) 2.4.1 awk version 20070501
4. 解压gomingw源码包
把gomingw的下载包解压到/home/Administrator目录下 目录名为/home/Administrator/go 删除/home/Administrator/go/bin下的所有.exe文件。 只保留quietgcc文件。 删除/home/Administrator/go/lib下的所有.a文件。 删除/home/Administrator/go/pkg/windows_386下的所有库文件。
5. 编译gomingw公共库
包括三个.a文件: lib9.a libbio.a libmach.a 执行命令如下: $ cd $ cd go/src/lib9/ $ make 出现错误: ../Make.inc:18: *** $GOROOT is not set; use gomake or set $GOROOT in your environment. Stop. 设置环境变量PATH和GOROOT(注意MinGW的环境变量区分大小写): $ export GOROOT=/home/Administrator/go $ export PATH=/home/Administrator/go/bin:$PATH $ make 注意make可以重复使用,自动跳过之前已经完成的目标。 完成后,生成lib9.a 用类似的办法编译libbio.a和libmach.a $ cd ../libbio $ make $ cd ../libmach $ make 然后把生成的 lib9.a libbio.a libmach.a 复制到/home/Administrator/go/lib下
6. 编译gomingw编译器工具、库和runtime库
关于8g以及其它exe的作用和使用方法见这里 http://golang-china.googlecode.com/svn/trunk/Chine se/golang.org/index.html http://code.google.com/p/golang-china/ 和x86相关的重要可执行文件和库有 * gc.a * 8g.exe * 8l.exe(依赖于gc.a) 另外,由于runtime.a这个go库一般都会使用到, 所以还需要以下工具的帮助。 * cc.a * 8c.exe(依赖于cc.a) * gopack.exe * 8a.exe * runtime.a(依赖于cc.a,8a.exe和gopack.exe) 执行以下命令:(同样需要设置GOROOT和PATH,同上) $ cd $ cd go/src/cmd/gc $ make (如果失败,请检查awk.exe是否存在,原有awk是否重命名, 然后用make clean all重新编译) $ cd ../8g $ make $ cd ../8l $ make $ cd ../cc $ make $ cd ../8c $ make $ cd ../gopack $ make $ cd ../8a $ make 然后把编译好的8g.exe, 8l.exe, 8c.exe, 8a.exe, gopack.exe
全部复制到/home/Administrator/go/bin下,继续下面的runtime.a编译 $ cd ../../pkg/runtime/ $ make 输出文件runtime.a在_obj目录下,复制到 /home/Administrator/go/pkg/windows_386目录下 (此时目录中只有一个.a文件)
7. 最简单的测试
测试最简单的go程序 $ cd $ cd go/test $ 8g -h gc: usage: 8g [flags] file.go... flags: -I DIR search for packages in DIR -d print declarations -e no limit on number of errors printed -f print stack frame structure -h panic on an error -o file specify output file -S print the assembly language -V print the compiler version -u disable package unsafe -w print the parse tree after typing -x print lex tokens $ 8g helloworld.go $ ls helloworld.* helloworld.8 helloworld.go $ 8l -h usage: 8l [-options] [-E entry] [-H head] [-I interpreter] [-L dir] [-T text] [-R rnd] [-r path] [-o out] main.8 $ 8l helloworld.8 $ ls *.exe 8.out.exe $ ./8.out.exe hello, world 注意,这里使用8g和8l可以正确地找到库(因为前面编译的时候已经设置好), 但实际操作(脱离MinGW环境)需要重新设置环境变量指向新的路径,见 http://code.google.com/p/golang-china/wiki/Install 生成的8.out.exe是原生的Windows可执行程序,仅导入KERNEL32.DLL, 所以可以独立于MinGW和Go的环境运行。
8. 一些问题
* 如果make没有响应,直接结束进程然后重新运行make。
(待补充)
发表评论
-
解决qt mysql出现的:无法加载驱动问题
2012-01-20 01:08 970解决qt mysql出现的:无法加载驱动问题 2010年06 ... -
Android面试题
2012-01-20 01:08 789Android面试题 2010年12月0 ... -
公共语言运行库中的程序集-03全局程序集缓存
2012-01-20 01:08 835公共语言运行库中的程序集-03全局程序集缓存 2011年06 ... -
为项目开发做嫁衣――Seam项目开发环境的搭建
2012-01-20 01:07 801为项目开发做嫁衣――Seam项目开发环境的搭建 2010年0 ... -
vc++窗口的创建过程(MFC消息机制的经典文章)
2012-01-20 01:07 1742vc++窗口的创建过程(MFC消息机制的经典文章) 2010 ... -
10] 建立C帝国(GDAL编译安装以及一般的C库编译步骤)
2012-01-19 08:56 86210] 建立C帝国(GDAL编译安 ... -
EGLIBC库介绍
2012-01-19 08:56 758EGLIBC库介绍 2011年05月05 ... -
给Win32 GUI程序调试信息输出方法
2012-01-19 08:56 1378给Win32 GUI程序调试信息输出方法 2011年09月2 ... -
SAMSUNG S3C2440的简易BootLoader ㈢
2012-01-19 08:56 835SAMSUNG S3C2440的简易BootLoa ... -
meego开发的学习路线
2012-01-19 08:56 712meego开发的学习路线 2011年06月26日 不同版 ... -
PNG文件结构(PNG图片格式)详解(转)
2012-01-17 01:27 8561PNG文件结构(PNG图片格式 ... -
delphi中opengl程序设计
2012-01-17 01:27 1033delphi中opengl程序设计 2011年06月07日 ... -
东方文花帖
2012-01-17 01:26 697东方文花帖 2010年10月07日 中文名:东 ... -
Java
2012-01-17 01:26 575Java 2010年06月22日 运行结果 ... -
JDK1.5 JDK1.6 各自的新特性
2012-01-17 01:26 739JDK1.5 JDK1.6 各自的新特 ... -
【隋纪二】
2012-01-15 20:08 611【隋纪二】 2009年11月04日 起玄 -
萧皇后:陪伴了五位帝王的靓丽女人(图)
2012-01-15 20:08 701萧皇后:陪伴了五位帝王的靓丽女人(图) 2010年02月05 ... -
历经五主而不衰的风流皇后:南朝萧皇后
2012-01-15 20:07 723历经五主而不衰的风流 ... -
命带桃花身归李世民 历经五主而不衰的萧皇后
2012-01-15 20:07 808命带桃花身归李世民 历 ... -
基于原创引擎开发的html5小游戏:一个另类玩法的《愤怒的小鸟》
2012-01-11 12:17 779基于原创引擎开发的html5小游戏:一个另类玩法的《愤怒的小鸟 ...
相关推荐
runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法runtime10种用法...
赠送jar包:onnxruntime-1.10.0-1.5.7.jar; 赠送原API文档:onnxruntime-1.10.0-1.5.7-javadoc.jar; 赠送源代码:onnxruntime-1.10.0-1.5.7-sources.jar; 赠送Maven依赖信息文件:onnxruntime-1.10.0-1.5.7.pom;...
赠送jar包:onnxruntime-1.10.0-1.5.7.jar; 赠送原API文档:onnxruntime-1.10.0-1.5.7-javadoc.jar; 赠送源代码:onnxruntime-1.10.0-1.5.7-sources.jar; 赠送Maven依赖信息文件:onnxruntime-1.10.0-1.5.7.pom;...
赠送jar包:istack-commons-runtime-3.0.12.jar; 赠送原API文档:istack-commons-runtime-3.0.12-javadoc.jar; 赠送源代码:istack-commons-runtime-3.0.12-sources.jar; 赠送Maven依赖信息文件:istack-commons-...
CodeMeter Runtime Kit v7.10a 64位
赠送jar包:flink-runtime_2.11-1.13.2.jar; 赠送原API文档:flink-runtime_2.11-1.13.2-javadoc.jar; 赠送源代码:flink-runtime_2.11-1.13.2-sources.jar; 赠送Maven依赖信息文件:flink-runtime_2.11-1.13.2....
Golang runtime scheduler的详细设计文档
.NET Desktop Runtime、.NET桌面运行时版本大全,内有下载好的运行时依赖。如果想下载官方网站提供的版本,说明文件里提供了下载链接。.NET Desktop Runtime、.NET桌面运行时版本大全,内有下载好的运行时依赖。如果...
onnxruntime 1.3版本 对应的cuda的版本是10.1
onnxruntime_gpu-1.6.0-cp36-cp36m-linux_aarch64.whl,官方地址:https://elinux.org/Jetson_Zoo#ONNX_Runtime
基于Arcgis软件平台二次开发,利用runtime SDK构建iOS地图应用
CodeMeter Runtime Kit v7.10a 32位
ArcGIS Runtime SDK for Java 100.12.0 的...如需在生产环境中使用ArcGIS Runtime SDK for Java,请联系ESRI公司获得授权,现在也有国产替代产品GeoScne Runtime SDK for Java,可以联系易智瑞公司获得相关资源和授权。
赠送jar包:antlr4-runtime-4.7.jar; 赠送原API文档:antlr4-runtime-4.7-javadoc.jar; 赠送源代码:antlr4-runtime-4.7-sources.jar; 赠送Maven依赖信息文件:antlr4-runtime-4.7.pom; 包含翻译后的API文档:...
易语言模块runtime.rar 易语言模块runtime.rar 易语言模块runtime.rar 易语言模块runtime.rar 易语言模块runtime.rar 易语言模块runtime.rar
Java Runtime Environment-6.0.26.exe
System.Runtime.Serialization.dll System.Runtime.Serialization.dll System.Runtime.Serialization.dll
Microsoft 2008 C++ Runtime (x86),window安装服务器环境大多都需要安装
借助 Microsoft 365 Access Runtime,可以将 Access 365 应用程序分发给计算机上未安装 Microsoft Office 的用户或不包含 Access 的 Microsoft Office 版本。 Microsoft 365 访问运行时包括 Access 数据库引擎 (ADE)...
arcgis runtime samples android master