go - #cgo LDFLAGS中的无效标志

标签 go cgo

我在ubuntu 18上使用go版本go版本“go1.14.4 linux / amd64”。该代码不是我编写的,但我认为它可以与比当前版本早几年的go版本一起使用。当我尝试构建时,出现此错误。有什么想法我需要解决吗?

go build *.go
go build command-line-arguments: invalid flag in #cgo LDFLAGS: -    I/home/me/myProject/lib
我认为这是我的go文件的相关位:
package main
/*
#cgo LDFLAGS: -v -I${SRCDIR}/lib -lplaintext
#cgo CFLAGS: -I${SRCDIR}/include -I${SRCDIR}/lib

#include <stdlib.h>
#include "plaintext.h"
*/
import "C"


import (

    "bufio"
    "bytes"
    "context"
    "crypto/md5"
    "flag"
    "fmt"
    "io"
    "io/ioutil"
    "log"
    "log/syslog"
    "net"
    "net/http"
    "os"
    "os/signal"
    "runtime"
    "strings"
    "strconv"
    "sync"
    "syscall"
    "time"
    "unsafe"

)

最佳答案

我相信您正在尝试为您的图书馆指定搜索路径,因此您应该使用-L-I用于编译器包含目录。

package main /*
#cgo LDFLAGS: -v -L${SRCDIR}/lib -lplaintext
#cgo CFLAGS: -I${SRCDIR}/include -I${SRCDIR}/lib

关于go - #cgo LDFLAGS中的无效标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62580446/

相关文章:

go - 如何从 uuid 中获取 2 个长数字?

c++ - 如何在 Go 代码中捕获 C/C++ lib 异常

sqlite - 戈朗 : CGO/clang with sqlite3. c

enums - 是否可以在不在 Golang 中创建 String() 的情况下获取 Enum 名称

go - 如何通过 client-go 和 golang 检索 kubernetes 指标

go - 如何将接口(interface) slice 更改为结构 slice

go - 如何在golang中通过值获取枚举变量名称?

CGO:如何在 Golang 中使用指针访问 C 数组中的数据

go - 使用 cgo,为什么在 golang 输出时 C 输出的不是 'survive' 管道?