【发布时间】:2020-07-17 09:55:25
【问题描述】:
我正在尝试修复未在链接库上获取的介子构建。 meson.build 文件有
tz_dep = dependency(
'date',
default_options : [ 'use_system_tzdb=true' ],
fallback: [ 'date', 'tz_dep' ]
)
# ...
executable(
'waybar',
src_files,
dependencies: [
# ...
tz_dep
],
include_directories: [include_directories('include')],
install: true,
)
它确实找到了/usr/lib/x86_64-linux-gnu/cmake/date/dateConfig.cmake。对应的dateTargets-none.cmake是
#----------------------------------------------------------------
# Generated CMake target import file for configuration "None".
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Import target "date::date-tz" for configuration "None"
set_property(TARGET date::date-tz APPEND PROPERTY IMPORTED_CONFIGURATIONS NONE)
set_target_properties(date::date-tz PROPERTIES
IMPORTED_LOCATION_NONE "${_IMPORT_PREFIX}/lib/x86_64-linux-gnu/libdate-tz.so.2.4.1"
IMPORTED_SONAME_NONE "libdate-tz.so.2.4.1"
)
list(APPEND _IMPORT_CHECK_TARGETS date::date-tz )
list(APPEND _IMPORT_CHECK_FILES_FOR_date::date-tz "${_IMPORT_PREFIX}/lib/x86_64-linux-gnu/libdate-tz.so.2.4.1" )
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
但是,介子没有链接/usr/lib/x86_64-linux-gnu/libdate-tz.so.2.4.1。
我不确定问题出在介子还是 cmake 配置中。如果需要,我可以提供更多详细信息。
【问题讨论】:
-
您能否通过在该文件中添加打印语句来验证
${_IMPORT_PREFIX}的值?message(STATUS "_IMPORT_PREFIX: ${_IMPORT_PREFIX}") -
我没有任何介子经验,但看起来您可能需要告诉介子您正在处理 cmake 依赖项 (mesonbuild.com/Dependencies.html#cmake)。
-
@StephenNewell 不,不是这样。它发现包没问题,包括路径等。添加
method = 'cmake'不会改变任何事情。
标签: c++ linux cmake meson-build