Tensorflowを使用する共有ライブラリを作成しています。一緒にTensorflow:共有ライブラリとの動的リンク
cc_binary(
name = "recognizer.so",
srcs = glob(["recognizer.cpp"]),
linkshared = 1,
deps = [
"//tensorflow:сore"
],
)
すべてのリンクをしかし、私は約94メガバイトのサイズではなくlibtensorflow_cc.soに依存する共有ライブラリで終わる:今の私は、次のビルドファイルとサブプロジェクトとしてTensorflowのソースツリーにそれを置きます。実際にlibtensorflow_cc.soが構築されたバイナリもありません。
ターゲットは//tensorflow:libtensorflow_cc.soです。これはcc_binaryとして宣言されています。これは(バゼルによれば)私はそれに依存できないことを意味します。さらに、このターゲットは実際には非公開です。つまり、ビルドできますが、別のサブプロジェクトからは参照できません。少なくともバゼルで。
このような単純なことを行う方法はありますか?
あなたはどのOSですか? '--cpu'フラグの値があれば、それをBazelに渡しますか? –
私はLinuxを使っています。 --cpuフラグがBazelに渡されなかった –
libtensorflow_cc.soに依存する共有ライブラリとしてカスタムコードをビルドしたいのですか? – mhlopko