1
私はいくつかのプラットフォームのAPIを使用するクロスプラットフォームのライブラリを構築しようとしています。私は今、macOSをやっています。私はobjective-cを使う必要があるので、問題になってきました。他のパッケージで複数のプラットフォームの実装を扱う
cc_library(
name = "base",
hdrs = ["application.h"],
deps = [":base_mac"],
visibility = ["//visibility:public"],
)
objc_library(
name = "base_mac",
srcs = ["application_mac.mm"],
)
、私はbase
に依存しています:
問題はapplication_mac.mm
がapplication.h
が含まれており、それを実装していますがbase_mac
ルールがbase
ルールに依存せず、そのヘッダーを使用することはできませんので、それがコンパイルされないということです。依存関係のサイクルがあり、それが気に入らないようなので、この依存関係を追加することもできません。
この問題を解決するにはどうすればよいですか?
ありがとうございました。私はあなたの2番目の提案に従いました。 –