【问题标题】:Why do I get "duplicate symbol reference" when including two cgo based libraries?为什么在包含两个基于 cgo 的库时会出现“重复的符号引用”?
【发布时间】:2014-11-05 02:56:59
【问题描述】:

我正在尝试构建(去构建)以下内容:

package main

import (
    "fmt"
    _ "github.com/d2g/unqlitego"
    _ "github.com/mattn/go-sqlite3"
)

func main() {
    fmt.Println("Erm Compile?")
}

我得到一个错误:

重复的符号引用:github.com/d2g/unqlitego(.text) 和 github.com/mattn/go-sqlite3(.text) 中的 __moddi3

我正在运行 go 版本 go1.3.1 windows/386。

我做错了吗?您将如何解决此类问题?

这是操作系统/Go 版本/架构特定的错误吗? (我很感谢您的go version 的输出“它对我有用”)

我已经把这一切都放在了一个回购中,所以你应该可以go get github.com/d2g/issue-duplicate_symbol

根据 cmets 看起来像是登录了 Windows 386 问题:https://code.google.com/p/go/issues/detail?id=8702

【问题讨论】:

  • 为我工作 go1.3 Windows amd64
  • 刚刚更新到 1.3.1,仍然可以在 Windows amd64 上运行
  • 我在使用 1.2 Windows/386 时遇到了同样的问题。
  • 已确认。将 GOARCH 更改为 386 会导致冲突。
  • Windows 特定问题:请参阅 code.google.com/p/go/issues/detail?id=8756,直到 1.5 版才能修复

标签: sqlite go cgo unqlite


【解决方案1】:

@AndrewN 指出这是一个特定于 Windows 的问题:请参阅 golang.org/issue/8756code.google.com/p/go/issues/detail?id=8756 的原始问题,直到版本 1.5 才会修复。

(记录因此这看起来不像是未回答的问题)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多