【问题标题】:Link Against Existing `.lib` File in Meson Build on Windows在 Windows 上的 Meson Build 中链接现有的`.lib` 文件
【发布时间】:2019-08-26 13:03:55
【问题描述】:

我正在Meson Build 中构建一个简单的项目。
虽然在 Meson Build Documentation 中有详细记录 how to create a dependency(隐式假设 UNIX / LINUX 系统),但不清楚如何链接任意非路径库。

让我在 Windows 上有以下项目:

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

我想创建一个基于SrcFile1.cSrcFile2.c 的可执行文件,它与prebuilt MyLib1.libMyLib2.lib 链接。

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

【问题讨论】:

    标签: windows build meson-build


    【解决方案1】:

    好的,我在 MesonBuild 上找到了解决方案:How to define dependency to a library that cannot be found by pkg-config?在Yasushi Shoji's answer.

    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)
    

    现在只需定义具有适当依赖关系的目标构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多