Link 针对 Windows 上 Meson 构建中的现有 `.lib` 文件
Link Against Existing `.lib` File in Meson Build on Windows
我正在 Meson Build 中构建一个简单的项目。
虽然在 Meson 构建文档中有很好的记录 how to create a dependency(隐含假设为 UNIX / LINUX 系统),但尚不清楚如何 link 反对任意不在路径库上。
让我在 Windows 上有以下项目:
- ProjectFolder
- SrcFiles
- SrcFile1.c
- SrcFile2.c
- Lib
- MyLib1.lib
- MyLib2.lib
我想创建一个基于 SrcFile1.c
和 SrcFile2.c
的可执行文件,它是 link 针对 预先构建的 MyLib1.lib
和 MyLib2.lib
.
这样做的正确方法是什么?
好的,我在 MesonBuild 上找到了解决方案:? on 。
唯一的问题 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)
现在只需定义具有适当依赖项的目标构建。
我正在 Meson Build 中构建一个简单的项目。
虽然在 Meson 构建文档中有很好的记录 how to create a dependency(隐含假设为 UNIX / LINUX 系统),但尚不清楚如何 link 反对任意不在路径库上。
让我在 Windows 上有以下项目:
- ProjectFolder
- SrcFiles
- SrcFile1.c
- SrcFile2.c
- Lib
- MyLib1.lib
- MyLib2.lib
我想创建一个基于 SrcFile1.c
和 SrcFile2.c
的可执行文件,它是 link 针对 预先构建的 MyLib1.lib
和 MyLib2.lib
.
这样做的正确方法是什么?
好的,我在 MesonBuild 上找到了解决方案:
唯一的问题 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)
现在只需定义具有适当依赖项的目标构建。