我试图在Macbook M1上安装tensorflow的C API,以便在Go中执行它.tensorflow开发人员遵循这guide条命令,但在使用这gcc hello_tf.c -ltensorflow -o hello_tf条命令运行hello_tf.c文件时遇到了问题.

这是hello_tf.c号文件

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
  printf("Hello from TensorFlow C library version %s\n", TF_Version());
  return 0;
}

这是错误日志(log):

ld: warning: ignoring file /usr/local/lib/libtensorflow.2.7.0.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
  "_TF_Version", referenced from:
      _main in hello_tf-6f1778.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation

关于如何修复编译有什么建议吗?

推荐答案

Here's关于如何从头开始构建版本的指南,因为过时或遗留版本的软件通常很难安装,尤其是在库方面.

C++相关问答推荐

C指针地址和转换

需要大整数和浮点数.使用long long int和long double

单指针和空参数列表之间的函数指针兼容性

在struct中调用函数,但struct在void中 *

括号中的堆栈实现错误问题

模拟shell并运行.sh文件

自定义变参数函数的C预处置宏和警告 suppress ?

我在这里正确地解释了C操作顺序吗?

致命:ThreadSaniizer:在Linux内核6.6+上运行时意外的内存映射

GCC不顾-fno-Builtin-SINCOS旗帜向SINCOS发出呼唤

理解C版宏(看起来像未声明的变量?)

如何在CANbus RX/TX FIFO起始地址寄存器(ATSAME 51)的特定地址初始化数组?

C:在编译时构建和使用字符串文字的预处理器宏?

在函数外部使用内联ASM时无法指定操作数

收到不兼容的指针类型警告,因为函数的返回不是空*,而是 struct 指针

Valgrind用net_pton()抱怨

意外的C并集结果

如何解释数组中的*(ptr)和*(ptr+2)?

如何打印循环调度问题的时间表

DennisM.Ritchie的C编程语言一书中关于二进制搜索的代码出现错误?