win8.1下golang+sdl2.0环境搭建
- sdl2.0的golang绑定我是使用的这个,但是它的官方介绍里面只有linux以及OSX系统的说明,没有windows的,在我的mbp上弄好以后就考虑在win下也搭建一个开发环境,这样就能比较方便的跨平台了。
- 具体步骤如下:
- 配置go环境,可以参考官方文档或者这里。
go get上面提到的库,但是反复提示如下错误:
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
后来发现只要用到了cgo就会报这个错误,因为我下载的是go 1.3.2 64位版本,但是本地的gcc是32位的。折腾了好久没解决,一直没能下载到64位的mingw,官方下载器每次都是下载一半的时候报错,即使挂上代理也一样,后来在sf.net上找到一位好心人做的离线下载包,然后将gcc加入path环境变量,才算能使用cgo了。
- 到此再build go-sdl的话,会提示找不到SDL2/SDL.h文件,这个问题就更加折腾了,
google了好久就没人给出具体解决方案,就没提cgo编译的时候,对应的c文件需要放在什么目录下面。也许太简单不屑于提起吧,可是对于新手来说却是比较麻烦的事情。有人说自己看源码都能解决,确实是这个道理,但是请搞清楚首要目的:要学习使用golang来开发sdl程序。 开始我是尝试将sdl的头文件放到github.com/veandco/go-sdl2/sdl目录下,
因为该目录下本来就有一些c文件,因此考虑cgo会搜索当前目录,结果失败了,它只能搜索当前目录,一旦放到子目录就不行。接下来尝试使用绝对路径,仍然失败,不清楚为嘛。再下来想到cgo是通过gcc来编译c代码,因此将sdl官方下载的binary包(mingw版本)解压放入gcc目录(sdl官方的mingw包中应该包含了bin,include,lib,share这几个目录,直接将它们放到gcc根目录下,与同名目录覆盖即可)
然后go build,一切ok
至此,整个环境应该搞定了,let' go
win8.1下golang+sdl2.0环境搭建的更多相关文章
- win8.1下cocos2d-x 3.x环境搭建
Win8.1下Cocos2d-x 3.4环境搭建 第一步: 需要下载的:(Windows 64位系统下环境搭建) Ant apache-ant-1.9.4-bin.zip NDK androi ...
- Win8.1下COCOS2D-X 3.4环境搭建
Cocos2dx_3.4开发环境搭建,并编译成APK 第一步:须要下载的:(windows64位系统下环境搭建) Ant apache-ant-1.9.4-bin.zip NDK and ...
- Cocos2dx开发(2)——Win8.1下Cocod2dx 3.2环境搭建
正式开始搭建cocos2dx环境,回到熟悉的VS 1.Python安装配置 这一步很简单,下载Python2.7.3,笔者直接用软件助手直接下载安装,最后配置环境变量 如下成功 2.cocos2dx ...
- golang开发android环境搭建_window
golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go: go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...
- ubantu16.04+mxnet +opencv+cuda8.0 环境搭建
ubantu16.04+mxnet +opencv+cuda8.0 环境搭建 建议:环境搭建完成之后,不要更新系统(内核) 转载请注明出处: 微微苏荷 一 我的安装环境 系统:ubuntu16.04 ...
- 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...
- ubuntu下的c/c++环境搭建
原文地址:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274556.html ubuntu下的c/c++环境搭建是比较简单,因为有apt和新立得 ...
- XNA 4.0 环境搭建和 Hello World,Windows Phone 游戏开发
XNA 4.0 环境搭建和 Hello World,Windows Phone 游戏开发 使用 Scene 类在 XNA 中创建不同的场景(八) 摘要: 平方已经开发了一些 Windows Phone ...
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
随机推荐
- jquery each循环,
jquery each循环,要实现break和continue的功能: break----用return false; continue --用return ture; each()函数是基本上所有的 ...
- api服务端接口安全
api服务端接口安全性解析 http://blog.csdn.net/tenfyguo/article/details/8225279 常用的基于token的实现方案 http://blog.csdn ...
- Xilium.CefGlue CEF Chrome 自动上传文件不弹出对话框 CefDialogHandler
关键代码如下,如何使用Handler,还不清楚的请继续搜索 internal sealed class WyzCefDialogHandler : CefDialogHandler { ...
- thinkphp 验证
//YongHuModel.class.php namespace Home\Model; use Think\Model; class YongHuModel exstends Model { pr ...
- cell当中的按钮如何获得cell内容
cell当中的btn添加方法 [cell.btn addTarget:self action:@selector(btnClickedwith:) forControlEvents:UIControl ...
- Oracle:ORA-00955: name is already used by an existing object
下午从生产库导出了一份表结构,用来测试一些问题,由于生产库连接着其他用户下的表所以通过视图在本地模拟一下,于是创建视图: create or replace view csews as select ...
- call
-------siwuxie095 call 调用另一个批处理程序或自身程序段,调用完,程序会回到原来 call 的地方继续执行 如果在脚本或批处理文件外使用 call,则不会在命令行起作用 语法 c ...
- CentOS下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)
一.源码包准备 服务器端主要是安装memcache服务器端下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz另外,Memca ...
- JAVA学习笔记(一):一个小爬虫的例子
1.import java.io.*; java.io.*不是一个文件,而是一组类.它是在java.io包里的所有类,*是通配符,比如a*.txt代表的就是以a开头的所有txt文件,“?”是单个词 ...
- Python模块:itertools
itertools模块:循环器 一,无穷循环器:count,cycle,repeat (1)count(5,3) #从5开始的整数循环器,每次增加3,即:5,8,11,14,17... from it ...