跳转到内容

包管理

Xmake 提供了一个强大的包管理系统,允许你轻松安装和使用第三方库。

更多详细文档,请参考 添加依赖包

使用 Fmt

EXPLORER
src
main.cpp
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")

add_requires("fmt")

target("test")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("fmt")

使用 Boost

EXPLORER
src
main.cpp
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")

add_requires("boost")

target("test")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("boost")

使用 OpenSSL

EXPLORER
src
main.c
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")

add_requires("openssl")

target("test")
    set_kind("binary")
    add_files("src/*.c")
    add_packages("openssl")

指定版本

我们也可以指定我们想要使用的包的版本。默认情况下,xmake 使用包的最新可用版本。你可以指定语义版本约束来请求特定版本。

EXPLORER
src
main.c
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")

add_requires("zlib 1.3.1")

target("test")
    set_kind("binary")
    add_files("src/*.c")
    add_packages("zlib")

使用动态库

我们还可以配置包以使用动态库。一些包支持编译为动态库。你可以通过向 add_requires 传递 {configs = {shared = true}} 来启用此功能。

EXPLORER
src
main.cpp
xmake.lua
Lua xmake.lua
12345678
add_rules("mode.debug", "mode.release")

add_requires("gflags", {configs = {shared = true}})

target("test")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("gflags")