首页 > 解决方案 > 在 Windows 上的 Meson 构建中链接到现有的`.lib` 文件

问题描述

我正在Meson Build中构建一个简单的项目。
尽管在 Meson Build Documentation 中如何创建依赖项(隐含 UNIX / LINUX 系统的假设)有详细记录,但不清楚如何链接任意非路径库。

让我们在 Windows 上有以下项目:

- ProjectFolder
    -   SrcFiles
        -   SrcFile1.c
        -   SrcFile2.c
    -   Lib
        -   MyLib1.lib
        -   MyLib2.lib

我想创建一个基于SrcFile1.c和的可执行文件,SrcFile2.c它与预构建 MyLib1.lib的和MyLib2.lib.

这样做的正确方法是什么?

标签: windowsbuildmeson-build

解决方案


好的,我在 MesonBuild 上找到了解决方案:如何定义对无法找到的库的依赖pkg-config?关于Yasushi Shoji 的回答

dirs属性的唯一问题需要绝对路径。
因此,这是可以做什么的草图:

# Constants
projectDir  = meson.current_source_dir() # MESON_SOURCE_ROOT
buildDir    = meson.current_build_dir() # MESON_BUILD_ROOT

lib1Path = join_paths(projectDir, 'Lib')
lib2Path = join_paths(projectDir, 'Lib')

objCCompiler = meson.get_compiler('c')

MyLib1 = objCCompiler.find_library('MyLib1', dirs : lib1Path)
MyLib2 = objCCompiler.find_library('MyLib1', dirs : lib1Pat2)

现在只需使用适当的依赖项定义目标构建。


推荐阅读