C++ 介子不';t链接库
我正在尝试修复一个介子构建而不是链接库。C++ 介子不';t链接库,c++,linux,cmake,meson-build,C++,Linux,Cmake,Meson Build,我正在尝试修复一个介子构建而不是链接库。meson.build文件 tz_dep=依赖关系( “日期”, 默认选项:[“使用系统”\u tzdb=true'], 回退:['日期','tz_dep'] ) # ... 可执行( “路障”, src_文件, 依赖项:[ # ... 副部长 ], include_目录:[include_目录('include')], 安装:正确, ) 它确实可以找到/usr/lib/x86_64-linux-gnu/cmake/date/dateConfig.cma
meson.build
文件
tz_dep=依赖关系(
“日期”,
默认选项:[“使用系统”\u tzdb=true'],
回退:['日期','tz_dep']
)
# ...
可执行(
“路障”,
src_文件,
依赖项:[
# ...
副部长
],
include_目录:[include_目录('include')],
安装:正确,
)
它确实可以找到/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配置中。如果需要,我可以提供更多详细信息。我现在正在为waybar编写一个ebuild(gentoo包),与您描述的问题相同。解决方案在您的meson.build
文件中,它指定了date
依赖项不完整
这是我应用的补丁,然后它就可以工作了(我对介子和其他东西一无所知,但这似乎使waybar
compile):
也许这会有帮助
向您致意,Jonas我现在正在为waybar编写一个ebuild(gentoo包),与您描述的问题相同。解决方案在您的meson.build
文件中,它指定了date
依赖项不完整
这是我应用的补丁,然后它就可以工作了(我对介子和其他东西一无所知,但这似乎使waybar
compile):
也许这会有帮助
向您致意,Jonas您能否通过向该文件添加打印语句来验证
${{u IMPORT\u PREFIX}
的值<代码>消息(状态“\u IMPORT\u PREFIX:${\u IMPORT\u PREFIX}”)我没有任何介子经验,但看起来您可能需要告诉介子您正在处理cmake依赖关系()。@StephenNewell不,不是这样。它可以找到包,包括路径等。添加method='cmake'
不会改变任何东西。您能否通过向该文件添加一条print语句来验证${u IMPORT\u PREFIX}
的值<代码>消息(状态“\u IMPORT\u PREFIX:${\u IMPORT\u PREFIX}”)我没有任何介子经验,但看起来您可能需要告诉介子您正在处理cmake依赖关系()。@StephenNewell不,不是这样。它可以找到包,包括路径等。添加method='cmake'
不会改变任何事情。
diff --git a/meson.build b/meson.build
index 5d45a29..dd56c29 100644
--- a/meson.build
+++ b/meson.build
@@ -98,7 +98,7 @@ gtk_layer_shell = dependency('gtk-layer-shell-0',
required: get_option('gtk-layer-shell'),
fallback : ['gtk-layer-shell', 'gtk_layer_shell_dep'])
systemd = dependency('systemd', required: get_option('systemd'))
-tz_dep = dependency('date', default_options : [ 'use_system_tzdb=true' ], fallback: [ 'date', 'tz_dep' ])
+tz_dep = dependency('date', default_options : [ 'use_system_tzdb=true' ], modules : [ 'date::date', 'date::date-tz' ], fallback: [ 'date', 'tz_dep' ])
prefix = get_option('prefix')
sysconfdir = get_option('sysconfdir')