Buck是否支持与文件夹同名的标题?

Buck是否支持与文件夹同名的标题?,buck,c++,Buck,C++,我正试图用它来构建Eigen。不幸的是,Eigen有一个不同寻常的头结构: Eigen/src/Cholesky/LLT.h Eigen/src/Cholesky/LDLT.h Eigen/src/Cholesky/... Eigen/src/... Eigen/Array Eigen/Cholesky Eigen/Core Eigen/... ... 你可以浏览 我需要在导出的标题中包含Eigen/Cholesky和Eigen/Cholesky/LLT.h,但Buck认为这是一个冲突: pr

我正试图用它来构建Eigen。不幸的是,Eigen有一个不同寻常的头结构:

Eigen/src/Cholesky/LLT.h
Eigen/src/Cholesky/LDLT.h
Eigen/src/Cholesky/...
Eigen/src/...
Eigen/Array
Eigen/Cholesky
Eigen/Core
Eigen/...
...
你可以浏览

我需要在导出的标题中包含
Eigen/Cholesky
Eigen/Cholesky/LLT.h
,但Buck认为这是一个冲突:

prebuild\u cxx\u库(
名称='eigen',
标题_only=True,
标题_名称空间='Eigen',
导出的标题=子目录全局([
('Eigen','*'),
('Eigen/src','***.h'),
]), 
可见性=[
"公众",,
],
)
java.nio.file.filealreadyexistException:…/eigen/buck out/gen/eigen#default,headers/eigen/Cholesky


如何使文件夹和文件与Buck中导出的标题同名

src文件夹应该是导出的一部分,请尝试以下方法:

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

更详细地说,这是一个问题,因为在不同的文件夹中有两个同名的文件。使用
src
前缀可以避免这种情况。