undefined symbol: _ZTIN10tensorflow8OpKernelE

因为没有在g++中加入 -ltensorflow_framework

tf.sysconfig.get_link_flags()



把-L和-l的内容要对应写正确,这样编译才能通过

#!/usr/bin/env bash
nvcc=/usr/local/cuda-10.1/bin/nvcc
cudalib=/usr/local/cuda-10.1/lib64/
TF_INC=$(python3 -c 'import tensorflow as tf; print(tf.sysconfig.get_include())')
TF_LIB=$(python3 -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')

g++ tf_interpolate.cpp -o tf_interpolate_so.so -std=c++11  -shared -fPIC -I $TF_INC  \
-I$TF_INC/external/nsync/public -L$TF_LIB -l:libtensorflow_framework.so.2 \
-lcudart -L $cudalib -O2 -D_GLIBCXX_USE_CXX11_ABI=0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容