-
我们内部维护了独立的 xmake-repo 有一个包是 xrpc:
folly 包大概是这样:
而仓库 [email protected]/xrpc.git 内部会强制锁定所有依赖的 boost 版本为 1.75.0
当我执行 PS: 如果单独编译 xrpc 是没有问题的,因为只会使用 boost 1.75.0。 请问下,如何在包测试的时候,也强行锁定folly 依赖的 boost 版本为 1.75.0?还是说,只能在 package 中强制指定版本(这样应该不是太好,如果指定的版本还是有冲突的话。) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
@waruqi xmake require 可能需要提供一个参数,安装包的时候也生成 add_requireconf 的各种信息? |
Beta Was this translation helpful? Give feedback.
-
既然你 xrpc 里面锁定了 1.75.0 ,那你这个 xrpc 包的配置就不对,应该也锁定到 然后 folly 还是用它的 1.81.0 ,xrpc 继续用 1.75.0 包配置中的 add_deps 是要跟内部 xmake.lua 中的 add_requires 配置保持一致的。跟测试没任何关系。。
你只能这么做,既然你库内部都严格要 1.75.0 了,那就只能限制这个版本,否则原本就会冲突。 |
Beta Was this translation helpful? Give feedback.
但我看你的包配置 add_deps 都没限制 1.75.0 ,默认肯定会走 1.81.0 ,当前版本 已经对包的 版本会自动处理 进行打平,但前提是仅仅对包配置,而库项目本身的 xmake.lua 里面的 add_requires 配置 是独立的,是没法干扰到的。。
如果你的项目内部写死了 1.75.0 。。那么对应的包配置就必须也限制,
add_deps("boost 1.75.0")
, 这样所有 add_deps 之间,xmake 才会自动根据目前的依赖链 和 版本限制范围,统一打平到 兼容版本上去。