)
还是要把Tensorflow包含在自己的工程下面所以主要的操作就是链接自己文件夹中的库文件抽取Tensorflow需要的头文件看了很多博客都是一带而过具体如何操作呢新建一个头文件路径mkdir inc cd inc mkdir tf_14将对应头文件复制到对应的tf_14文件夹下cp -r your_path to_tf/bazel-genfiles/* ./inc/tf_14 cp -r your_path_to_tf/tensorflow/cc ./inc/tf_14/tensorflow cp -r your_path_to_tf/tensorflow/core ./inc/tf_14/tensorflow cp -r your_path_to_tf/thirdparty ../inc/tf_14将库文件放到lib文件夹下mkdir lib cp -r your_path_to_tf/bazel-bin/tensorflow/libtensorflow_cc.so.14.1 ./lib/ cp -r your_path_to_tf/bazel-bin/tensorflow/libtensorflow_frame.so.1.14.1 ./lib #建立对应的软链接 ln -s libtensorflow_cc.so.1.14.1 libtensorflow_cc.so.1 ln -s libtensorflow_cc.so.1 libtensorflow_cc.so ln -s libtensorflow_framework.so.1.14.1 libtensorflow_framework.so.1 ln -s libtensorflow_framework.so.1 libtensorflow_framework.so写对应的Makefile,当中还有opencv的库LZ就不删了。。。OURCE_ROOT $(shell pwd) SOURCE example_trainer.cc OBJS test.o TARGET test OBJS_DEBUG test_debug.o TARGET_DEBUG test_debug # compile and lib parameter CC g LIBS -ltensorflow_cc -ltensorflow_framework LIBS -lopencv_highgui -lopencv_imgcodecs -lopencv_calib3d -lopencv_imgproc -lopencv_flann -lopencv_core LIBS -lcairo -lgtk-3 -lgdk_pixbuf-2.0 -lgobject-2.0 LIBS -llibjasper -lIlmImf -lippiw -llibjpeg -llibpng -llibtiff -lippicv -llibwebp -littnotify -lz LIBS -ldc1394 -lraw1394 -lm -ldl #STATIC_LIBS LDFLAGS -L./lib -L./lib/opencvLib LDFLAGS -L../boost/stage/lib -pthread INCLUDE -I ./ -I ./inc -I ./inc/opencv -I ./ INCLUDE -I ./inc/tf_14 -I ./inc/tf_14/third_party CFLAGS -Wall -O -fPIC CXXFLAGS -stdgnu11 all: $(TARGET) $(TARGET_DEBUG) # link $(TARGET):$(OBJS) $(CC) -o $ $^ $(LDFLAGS) $(LIBS) $(STATIC_LIBS) $(CFLAGS) $(INCLUDE) $(CXXFLAGS) $(TARGET_DEBUG):$(OBJS_DEBUG) $(CC) -o $ $^ $(LDFLAGS) $(LIBS) $(STATIC_LIBS) $(CFLAGS) $(INCLUDE) $(CXXFLAGS) -g #compile $(OBJS):$(SOURCE) $(CC) $(CFLAGS) $(INCLUDE) $(CXXFLAGS) -o $ -c $^ $(OBJS_DEBUG):$(SOURCE) $(CC) $(CFLAGS) $(INCLUDE) $(CXXFLAGS) -g -o $ -c $^ # clean clean: rm -fr *.o rm -fr $(TARGET) $(TARGET_DEBUG)编译的时候会报如下的错误;g -Wall -O -fPIC -I ./ -I ./inc -I ./inc/opencv -I ./ -I ./inc/tf_14 -I ./inc/tf_14/third_party -stdgnu11 -o test.o -c example_trainer.cc In file included from ./inc/tf_14/tensorflow/core/framework/tensor.h:21:0, from ./inc/tf_14/tensorflow/cc/framework/ops.h:21, from ./inc/tf_14/tensorflow/cc/ops/array_ops.h:8, from ./inc/tf_14/tensorflow/cc/ops/standard_ops.h:19, from example_trainer.cc:21: ./inc/tf_14/third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1:42: fatal error: unsupported/Eigen/CXX11/Tensor: No such file or directory #include unsupported/Eigen/CXX11/Tensor ^ compilation terminated. make: *** [test.o] Error 1缺了Eigen补上就行cp -r your_path_to_eigen/eigen ./inc/tf_14/eigenMakefile添加eigen头文件INCLUDE -I ./inc/tf_14/eigenmake然后继续报错g -Wall -O -fPIC -I ./ -I ./inc -I ./inc/opencv -I ./ -I ./inc/tf_14 -I ./inc/tf_14/third_party -I ./inc/tf_14/eigen -stdgnu11 -o test.o -c example_trainer.cc In file included from ./inc/tf_14/tensorflow/core/framework/tensor.h:22:0, from ./inc/tf_14/tensorflow/cc/framework/ops.h:21, from ./inc/tf_14/tensorflow/cc/ops/array_ops.h:8, from ./inc/tf_14/tensorflow/cc/ops/standard_ops.h:19, from example_trainer.cc:21: ./inc/tf_14/tensorflow/core/framework/allocator.h:24:38: fatal error: absl/strings/string_view.h: No such file or directory #include absl/strings/string_view.h ^ compilation terminated. make: *** [test.o] Error 1缺了absl再加上cp -r your_path_to_absl/absl ./inc/tf_14/absl同时修改MakefileINCLUDE -I ./inc/tf_14/abslmake编译通过运行一下最后可以得到对应输出总算琢磨出来了。。。