在Meson项目中,如何编译不在项目树中的目录中的文件(即不只是标题)?

例如。:

MyProj/
   src/
      meson.build
ExternalCode/
   src/
      file1.h
      file1.cpp
include_directories仅用于标题...

如果在文件路径中使用“..”,则会出现此错误:

最佳答案

如果您想将ExternalCode作为项目的一部分进行构建,则建议以某种方式在您的项目中获取此目录,例如使用符号链接(symbolic link)并将meson.build文件放置在旁边。因此,您的项目布局将如下所示:

MyProj/
   meson.build
   src/
      meson.build
   external/
      ExternalCode -> link to ...
      meson.build

然后,使项目中所有子目录的介子都清楚,将其放在顶层meson.build文件中:
subdir('src')
subdir('external')

08-24 17:25