蛋疼的配置go opengl的记录 running gcc failed: exit status 1 in golang in windows

本文主要是介绍蛋疼的配置go opengl的记录 running gcc failed: exit status 1 in golang in windows,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很久以前配置过,忘了,这次又折腾了一个下午,必须写个备忘了。

 

首先,是安装go,这个比较简单,百度解决。

安装完go之后是去安装tdm-gcc,因为像opengl这样的库,需要c/c++编译器来支持,所以需要一个这样的东西,另外,32/64位版本一定要对应,如果你用的go是32位的,一定要使下载tdm-gcc的32位版本进行安装

安装完毕之后一般会自动添加系统变量,即C:\TDM-GCC-32\bin到path里面,如果没有的话就手工添加一下。

在cmd窗口键入gcc -v可以看到一大串的东西则说明成功了,如果没有那就是路径配置有问题。

完成之后就是添加go的glfw,网上有很多教程了,这个就不赘述了,如果不会用go get,还有更简单粗暴的方法,就是到github把征管文件夹下载下来弄到gopath里面去。

至于怎么设置gopath,也是在环境变量那里添加一个变量,不会的就百度吧。

go的ide很多,我使用的是liteide,要注意如果想要写32位的程序建议使用32位版的liteide,

然后在下面这个地方点开来:

 

在LiteEnv里面的win32-user.env 和 win32.env里面改一下(选中后点击ok就能打开)

path那里,默认是mingw32,改成TDM-GCC的bin文件夹的位置,注意,尽量不要使用mingw,老是会出现各种蛋疼的问题,原因不明(另,我用的liteide版本是37.3)

两个弄完,保存,重启liteide,就可以了。然后在需要跑opengl32位程序的时候将运行环境从system改为win32就行了。

如果安装的go和安装的tdm-gcc的版本不一致(一个32一个64)就会出现running gcc failed: exit status 1 in golang in windows 的错误,

可以参考https://stackoverflow.com/questions/59859891/running-gcc-failed-exit-status-1-in-golang-in-windows

如果没有安装tdm-gcc直接跑,就会提示各种not found xxx such a 什么什么的错误,或者是missing 什么什么鬼,总之就是少了c/c++编译器。

在跑的时候会出现一些warning信息比如 warning: 'GUID_POV' initialized and declared 'extern'

原因可以参考 https://blog.csdn.net/justshare/article/details/83406125

https://bbs.csdn.net/topics/60456567

至于怎么下载tdm-gcc,这个就直接百度即可。注意,带64的只能和64位一起使用,编译出64位的程序是无法在32位的电脑使用的。

完毕。

 

这篇关于蛋疼的配置go opengl的记录 running gcc failed: exit status 1 in golang in windows的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/561114

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go之errors.New和fmt.Errorf 的区别小结

《Go之errors.New和fmt.Errorf的区别小结》本文主要介绍了Go之errors.New和fmt.Errorf的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考... 目录error的基本用法1. 获取错误信息2. 在条件判断中使用基本区别1.函数签名2.使用场景详细对

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令