Я пишу код C++ в frameworkor framework, и я хочу использовать динамическую библиотеку, написанную с помощью makefile. В исходном коде я поставил путь заголовка файла:tensorflow и bazel «неопределенная ссылка на» ошибка компиляции
#include "tensorflow/cc/include/libtrading/proto/tf_fix_client.h"
использовать функцию под названием fix_client (INT ARGC, символ ** ARGV) и в файле BUILD я поставил путь к динамической библиотеке, называется libtrading.so:
cc_binary(
name = "session",
srcs = ["work/session.cc"],
copts = tf_copts(),
linkopts = [
"-lpthread",
"-lm",
#for libtrading
"-L/home/alessandro_mercadante/tensor_flows/tensorflow/tensorflow/cc/include/",
"-ltrading",
],
...
Базэл-сборки извлекает мне ошибку:
bazel-out/local_linux-opt/bin/tensorflow/cc/_objs/session/tensorflow/cc/work/session.o: In function `main':
session.cc:(.text.startup.main+0x2b): undefined reference to `fix_client(int, char**)'
collect2: error: ld returned 1 exit status
Это не проблема загрузчика, но линкера, поэтому я думаю, что это не проблема, о которой вы догадались. –
Возможный дубликат: [Что такое неопределенная ссылка и как ее решить] (http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how -do-I-FIX). –
Да, в местоположении библиотеки нет ошибки. Это не ошибка. –