2017-02-27 70 views
2

我想用來構建Eigen。不幸的是,艾根有頭的一個不尋常的結構:Buck是否支持與文件夾名稱相同的標題?

Eigen/src/Cholesky/LLT.h 
Eigen/src/Cholesky/LDLT.h 
Eigen/src/Cholesky/... 
Eigen/src/... 
Eigen/Array 
Eigen/Cholesky 
Eigen/Core 
Eigen/... 
... 

您可以瀏覽the repo on GitHub

我需要包括在導出的頭Eigen/CholeskyEigen/Cholesky/LLT.h,但巴克認爲這種衝突:

prebuilt_cxx_library(
    name = 'eigen', 
    header_only = True, 
    header_namespace = 'Eigen', 
    exported_headers = subdir_glob([ 
    ('Eigen', '*'), 
    ('Eigen/src', '**/*.h'), 
    ]), 
    visibility = [ 
    'PUBLIC', 
    ], 
) 

java.nio.file.FileAlreadyExistsException:... /本徵/降壓輸出/ gen/eigen#默認,頭文件/ Eigen/Cholesky

如何在Buck中使用與導出標題名稱相同的文件夾和文件?

回答

3

src文件夾應該是出口的一部分,試試這個:

prebuilt_cxx_library(
    name = 'eigen', 
    header_only = True, 
    header_namespace = 'Eigen', 
    exported_headers = subdir_glob([ 
    ('Eigen', '*'), 
    ('Eigen', 'src/**/*.h'), 
    ]), 
    visibility = [ 
    'PUBLIC', 
    ], 
) 
+1

爲了詳細說明,這是一個問題,因爲有兩個文件在不同的文件夾的名稱相同。擁有'src'前綴避免了這一點。 – sdwilsh

相關問題