猿问

导入 sqlite3 驱动程序时出现问题

所以我一直在尝试将以下 sqlite3 驱动程序集成到我的 Go 项目中;https://github.com/mattn/go-sqlite3,使用命令;

go get github.com/mattn/go-sqlite3 && go install github.com/mattn/go-sqlite3

按照自述文件中的说明。不幸的是,没有任何成功 - 在运行命令并尝试导入驱动程序后,import("github.com/mattn/go-sqlite3")我留下了两个非常小的特定错误,我认为这些错误与 gcc 编译器有关?

# command-line-arguments

/usr/bin/ld: $WORK/b001/_pkg1_.a(_x009.o): undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'

//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

这是 go env 的输出,我已经安装了 sqlite3 和 GCC;


GOARCH="amd64"

GOBIN=""

GOCACHE="/home/maciej/.cache/go-build"

GOEXE=""

GOHOSTARCH="amd64"

GOHOSTOS="linux"

GOOS="linux"

GOPATH="/home/maciej/go"

GORACE=""

GOROOT="/usr"

GOTMPDIR=""

GOTOOLDIR="/usr/libexec/gcc/x86_64-redhat-linux/8"

GCCGO="/usr/bin/gccgo"

CC="gcc"

CXX="g++"

CGO_ENABLED="1"

CGO_CFLAGS="-g -O2"

CGO_CPPFLAGS=""

CGO_CXXFLAGS="-g -O2"

CGO_FFLAGS="-g -O2"

CGO_LDFLAGS="-g -O2"

PKG_CONFIG="pkg-config"

GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build343666347=/tmp/go-build -gno-record-gcc-switches -funwind-tables"


sqlite3 -version

3.22.0 2018-01-22 18:45:57

gcc version 8.2.1 20181105 (Red Hat 8.2.1-5) (GCC)

出于好奇,我尝试使用 TDM gcc 5.1.0 在 Windows 10 上运行完全相同的过程并且它运行完美,我将非常感谢关于我的问题的任何建议,谢谢。


白猪掌柜的
浏览 165回答 1
1回答

Cats萌萌

我在使用 gobuffalo 时遇到了同样的问题。解决方法:第一步:进入以下页面:http://tdm-gcc.tdragon.net/第 2 步:下载 TDM64 包第 3 步:启动 TDM64 捆绑包并打开安装程序
随时随地看视频慕课网APP

相关分类

Go
我要回答