2017-05-26 8 views
0

短い話ですが、私はBazelを使ってOSX上でuWebSocketsに依存するプロジェクトを構築しようとしています。 OpenSSLがインストールのためにそれが見えます(のようなレポでマイワークスペースファイルが見えBazelを使用してopensslを含むサードパーティのC++ライブラリを構築するには?

#include <openssl/opensslv.h> 

:私はuWebSockets内のファイルがそうのようなのopensslからファイルをインクルードすることができるように依存関係としてOpenSSLを追加する方法に問題に実行しています経由自作):

new_http_archive(
    name = "uwebsockets", 
    urls = ["https://github.com/uNetworking/uWebSockets/archive/master.zip"], 
    build_file = "BUILD.uWebSockets", 
) 

new_local_repository(
    name = "systemssl", 
    path = "/usr/local/opt/openssl", 
    build_file = "BUILD.systemssl", 
) 

BUILD.uWebSockets:

cc_library(
    name = "uwebsockets-lib", 
    hdrs = glob(["**/src/*.h"]), 
    srcs = glob(["**/src/*.cpp"]), 
    visibility = ["//visibility:public"], 
    deps = [ 
     "@systemssl//:openssl", 
    ], 
) 

BUILD.systemssl:

私はビルドを実行しようとするたびに210
cc_library(
    name = "openssl", 
    hdrs = glob(["**/openssl/*.h"]), 
    srcs = glob([ 
     "**/libssl.a", 
     "**/libcrypto.a", 
    ]), 
    visibility = ["//visibility:public"], 
) 

、すべてが正しくビルドするが、私は得る:

external/uwebsockets/uWebSockets-master/src/Networking.h:7:10: fatal error: 'openssl/opensslv.h' file not found 

私はここで何かが欠けする必要があり、私が間違って何をやっていますか?

答えて

0

私はあなたがライブラリに依存するものの正しいインクルードパスのためにBUILD.systemsslファイルに "インクルード"属性が必要だと思います。

globが "**"で始まるのは、バージョン番号がファイルパスにエンコードされているためですか?また、WORKSPACEファイル内のnew_local_repositoryに使用できる "strip_prefix"属性を調べて、それを削除する必要があります。

関連する問題