我是根据网上的教程来的, 可是最终都试不出结果.
目录结构
modT
lib
vedio.c
vedio.h
vedio.so
main.go
vedio.c里面的内容:
#include <stdio.h>
#include "vedio.h"
int add(int a, int b){ // 实现
return a + b;
}
so的生成命令是:gcc vedio.c -fPIC -shared -o vedio.so
main.go里面的代码:
package main
/*
#cgo CFLAGS: -Ilib
#cgo LDFLAGS: -Llib -lvedio
#include "vedio.h"
*/
import "C" // 切勿换行再写这个
func main() {
C.add(1,2)
}
go run main.go报错:
command-line-arguments
ld: library not found for -lvedio
clang: error: linker command failed with exit code 1 (use -v to see invocation)
请教下还有人知道啥原因, 感觉是个坑
好兄弟,解决了吗,我遇到了相同的问题!