专栏首页EasyNVR使用Go语言编译互联网视频直播点播平台EasyDSS出现ld returned 1 exit status错误

使用Go语言编译互联网视频直播点播平台EasyDSS出现ld returned 1 exit status错误

由于Go语言非常易学,且代码精简,我们很多同事在研发视频平台的时候,都喜欢拿Go语言来做编程。我们之前也讲过关于GO语言编译的相关问题,比如:Go语言编程ioutil.ReadAll的用法注意点go语言搭建重定向和反向代理的区别及使用等。

本文我们还讲一下Go 语言开发出现的其他问题,我们的编译人员使用Go语言编译EasyDSS时,出现“collect2.exe: error: ld returned 1 exit status”报错。

在开发过程中,升级 Go 版本后,编译代码出现一堆mingw64 错误,最后一句话为“collect2.exe: error: ld returned 1 exit status”。

原因分析

查看引起错误的代码为获取软件编译时间的代码导致的问题,这一段代码使用了Cgo获取软件编译时间。

/*
const char* build_time(void)
{
    static const char* psz_build_time = `ls_date` " " `ls_time` ;
    return psz_build_time;
}
*/
import "C"

此段代码并无错误,经过上一次可编译版本,也未进行修改,初步推断为升级 Go 版本导致,怀疑Go版本与Cgo调用的gcc编译器不匹配导致。

查看 Go 环境为:

gcc 版本为:

两者对比,Go版本为32位版本,gcc为64位版本,32位版本的程序调用64位的编译器,导致出现此种问题。

解决办法:

在此我们为大家提出两种解决办法:

第一种是将下载32位版本的gcc编译器,可以使用。 第二种解决办法为使用64位版本的编译器,可以正常使用。

我采用是第二种解决办法,下载64位版本的Go语言开发环境go1.14.3.windows-amd64,其中amd64代表为64位程序,下载完毕后直接将对应的bin文件设置为环境变量即可。如果使用GoLand进行开发,可以直接如下配置:

  1. File—Setting—Go—GOROOT;
  2. 将 go1.14.3.windows-amd64 的路径添加到 GOROOT 中;
  3. 选中刚刚添加的环境,重新编译程序即可通过。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RTSP安防摄像头/海康大华硬盘录像机/NVR网页低延时播放流媒体服务器EasyNVR调取接口报Unauthorized如何解决?

    随着雪亮工程、明厨亮灶、手机看店、智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网、微信直播,我们知道摄像头直播的春天了。将安防摄像头或NVR上的视频流转成...

    EasyNVR
  • 视频流媒体平台EasyNVR是否可以编译树莓派版本?

    我们的流媒体平台支持编译成各种版本,能够满足不同用户的使用需要。为了确保编译后的各个版本没有错误,我们研发时也会进行测试,比如之前我们编译过视频管理平台Easy...

    EasyNVR
  • 国标GB28181流媒体平台EasyGBS新版界面视频流更新时间显示错误问题解决

    在进行国标GB28181流媒体平台EasyGBS产品研发添加用户权限功能时,发现使用gorm框架查询数据库遇到时间格式,会出现时间格式显示不正确的情况。如下图:

    EasyNVR
  • 回归简约——Go语言简介

    GoLang(通常缩写为Go)是很多程序员都希望学会使用的最新语言。在本文中,我将介绍go语言的功能、潜力以及是否应该关心Go的发展。

    Techeek
  • Go程序设计语言 英文版翻译 序

    这本书买来是英文的。这几天我心不定,没法学习IOS 因此就翻译这本英文书,安安心。

    用户2353021
  • Linux操作系统配置Go语言编程环境

    之前一直在windows下写Go,现在工作环境切换至Linux下,因此写下此文,记录安装Go环境的过程。

    Zoctopus
  • SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复; 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版...

    Alfred Zhao
  • 线程上下文类加载器ContextClassLoader内存泄漏隐患

    今天(2020-01-18)在编写Netty相关代码的时候,从Netty源码中的ThreadDeathWatcher和GlobalEventExecutor追溯...

    Throwable
  • 快速学习Redis-Jedis客户端

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • 【leetcode】Flatten Binary Tree to Linked List

    Given a binary tree, flatten it to a linked list in-place.

    阳光岛主

扫码关注云+社区

领取腾讯云代金券