相关疑难解决方法(0)

如何在golang中使用LDFLAGS的相对路径

我是Golang的新手,我正在尝试构建一个使用静态库(.a文件)的golang程序

我的项目的目录结构如下

??testserver
    ??bin
    ??pkg
    ??src
        ??logging
        ??testserver
            ??libtest.a
            ??test.go
Run Code Online (Sandbox Code Playgroud)

test.go中的cgo标志如下

// #cgo LDFLAGS: -L /home/test/testserver/src/testserver -ltest
// #include "test.h"
import "C"
Run Code Online (Sandbox Code Playgroud)

当我使用LDFLAGS -L的绝对路径时,它会产生罚款,但是当我将路径更改为相对路径时,例如

// #cgo LDFLAGS: -L ./testserver -ltest
Run Code Online (Sandbox Code Playgroud)

然后运行该命令

go install testserver
Run Code Online (Sandbox Code Playgroud)

它向我返回一个错误,并说"找不到-ltest"

我的问题是如何在LDFLAGS中使用相对路径?,以便我可以在任何路径上构建项目.谢谢!

path relative-path go ldflags cgo

7
推荐指数
1
解决办法
7731
查看次数

标签 统计

cgo ×1

go ×1

ldflags ×1

path ×1

relative-path ×1