【问题标题】:ExternalProject_Add for Makefile project error during buildExternalProject_Add for Makefile 项目在构建过程中出错
【发布时间】:2021-02-10 09:13:57
【问题描述】:

我正在尝试添加 Postgresql 作为我的项目的依赖项,我正在使用 ExternalProject 模块从 github 下载源代码并进行构建,但是从 cmake (cmake --build .) 运行时构建步骤失败。配置步骤似乎成功了,如果我转到 EP_BASE 下的 Build 目录并执行 make 它运行成功。我在构建过程中收到以下错误:

<...>/Source/postgresql_external/src/common/relpath.c:21:10: fatal error: catalog/pg_tablespace_d.h: No such file or directory
21 | #include "catalog/pg_tablespace_d.h"
  |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[5]: *** [<builtin>: relpath.o] Error 1
make[4]: *** [Makefile:42: all-common-recurse] Error 2
make[3]: *** [GNUmakefile:11: all-src-recurse] Error 2

我的外部项目添加如下所示:

ExternalProject_Add(postgresql_external
  GIT_REPOSITORY    https://github.com/postgres/postgres.git
  GIT_TAG           REL_12_4
  CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
  LOG_CONFIGURE 1
  LOG_BUILD 1
  LOG_INSTALL 1
)

这是在 Ubuntu 20.04 LTS 上运行的,带有 cmake 3.16.3、gcc 9.3.0

【问题讨论】:

    标签: cmake external-project cmake-modules


    【解决方案1】:

    试试

    ExternalProject_Get_Property(postgresql_external install_dir)
    include_directories(${install_dir}/include)
    

    我猜,您还没有将include 目录传播到您的目标,但它是 evtl。您的系统已知(因此成功调用手动调用make

    【讨论】:

    • 这对构建过程有什么帮助(还没有安装)?
    猜你喜欢
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2019-11-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多