is_kind输出nil,这正常吗?
#7508
老是输出nil,这正常吗? |
Answered by
cookesan
Apr 26, 2026
Replies: 1 comment
|
正常。这里的 所以: print(is_kind("shared"))只有在当前构建配置的 如果你是在 target 回调里判断某个目标本身,应该用传进来的 target("foo")
set_kind("shared")
on_load(function (target)
print(target:is_shared())
print(target:kind())
end)如果你想判断配置项,可以先 |
0 replies
Answer selected by
yybbwc
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
正常。这里的
is_kind()不是读取某个 target 的set_kind("shared"),而是读取当前配置里的kind:源码里它是config.get("kind")。没有配置时会返回false;有配置但不匹配时函数走到结尾,所以打印出来就是nil。所以:
只有在当前构建配置的
kind正好是shared时才会是true;否则可能是false或nil,不要把它当作 target kind 判断。如果你是在 target 回调里判断某个目标本身,应该用传进来的
target对象,例如:如果你想判断配置项,可以先
xmake f --kind=shared后再测。