【发布时间】:2017-11-19 17:55:22
【问题描述】:
您好,我正在尝试将 TensorFlow 用于 C/C++。目前我正在尝试让他们在安装说明中提供的基本程序进行编译。
https://www.tensorflow.org/install/install_c
我正在运行 Ubuntu 的 x86_64 机器上工作。我相信我正确安装了库。当我列出 /usr/local/ 文件夹中的目录时,我会在其中看到 tensorflow。
$: ls /usr/local/include/
张量流
但是,当我尝试编译他们提供的基本程序时,gcc 和 g++ 都失败了
$: gcc -o test hello_tf.cpp
/tmp/cczK3WZs.o:在函数'main'中:
hello_tf.cpp:(.text+0x5): 对 `TF_Version' 的未定义引用
collect2: 错误:ld 返回 1 个退出状态
$: g++ -o test hello_tf.cpp
/tmp/ccl7FitR.o:在函数“main”中:
hello_tf.cpp:(.text+0x5): 对 `TF_Version' 的未定义引用
collect2: 错误:ld 返回 1 个退出状态
安装时一切都很顺利,除了我按照建议安装到系统目录中运行 ldconfig 时。
$ sudo ldconfig /sbin/ldconfig.real:
/usr/lib/libusbredirparser.so.1 不是符号链接
/sbin/ldconfig.real: /usr/lib/libid3tag.so.0 不是符号链接
/sbin/ldconfig.real: /usr/lib/libusbg.so.0 不是符号链接
/sbin/ldconfig.real: /usr/lib/libusbmuxd.so.2 不是符号链接
/sbin/ldconfig.real: /usr/lib/libmtp.so.9 不是符号链接
/sbin/ldconfig.real: /usr/lib/libmad.so.0 不是符号链接
/sbin/ldconfig.real: /usr/lib/libusb-1.0.so.0 不是符号链接
/sbin/ldconfig.real: /usr/lib/libusbredirhost.so.1 不是符号 链接
不过,这些文件似乎不会影响相关程序的编译。当我运行故障排除编译命令时,它似乎工作。我不确定这是为什么
g++ -I/usr/local/include -L/usr/local/lib hello_tf.cpp -ltensorflow
【问题讨论】:
-
您使用的 cuda 版本是什么?兼容tf版本吗?我遇到了同样的错误,这对我来说是兼容性问题。
标签: c++ c linux gcc tensorflow