我在 buildroot 菜单中有一个选项,只有当 MY_LIBRARY
的版本高于 2.0
时才能激活。
库版本在Kconfig文件中配置如下
config MY_LIBRARY_VERSION
string "1.0"
help
gives the version of the library
选项配置如下:
config MY_OPTION
bool " My Option "
help
option activated only if MY_LIBRARY_VERSION > 2.0
我想在激活 MY_OPTION
之前添加检查 MY_LIBRARY
版本的 smth>
最佳答案
这在 Kconfig 语言中是不可能的。 Kconfig 只支持相等和非相等条件。
解决方法很麻烦。 buildroot 的作用内核头文件版本:
- 有一个字符串选项来指定版本。
- 此外,还有一个选项可以指定所有可能的版本 (
BR2_KERNEL_HEADERS_X_Y
)。 - 有不同的隐藏符号来指定最低版本(
BR2_KERNEL_HEADERS_AT_LEAST_X_Y
)。 - 每个
BR2_KERNEL_HEADERS_X_Y
选项选择相应的BR2_KERNEL_HEADERS_AT_LEAST_X_Y
选项。 - 每个
BR2_KERNEL_HEADERS_AT_LEAST_X_Y
选项选择前一个BR2_KERNEL_HEADERS_AT_LEAST_X_(Y-1)
选项。 - 其他配置选项取决于
BR2_KERNEL_HEADERS_AT_LEAST_X_Y
选项。 - 在 makefile 中,会检查下载的 header 是否确实对应于指定的
BR2_KERNEL_HEADERS_X_Y
选项。
对于您的情况,一个可能更简单的解决方案是允许用户仅从一组预定义的版本中进行选择,而不是从自由文本字符串中进行选择。
关于linux - 如何做一个选项取决于buildroot中的库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930881/