Yocto - iwlib.h 没有这样的文件或目录

问题描述

我正在做一个需要 iwlib 的项目。在我的 PC 上它工作正常,但我无法将我的项目添加到 Yocto。我收到错误 <iwlib.h> No such file or directory. 我试图将 iw 添加到图像和我的项目配方文件中的 DEPENDS 变量,但它似乎不起作用。我仍然得到同样的错误。我曾经认为 iw 文件安装在我 PC 上的另一个路径中,所以我使用 iw 构建了映像,但没有我的应用程序,接下来我使用 find -iname 来查找这个文件在我所有的 Yocto 存储库中,但我没有找到。

你知道如何将 iw 包添加到 Yocto 吗?在此先感谢您的帮助。

编辑:错误

 In file included MyClass.cpp:1:
 MyClass.hpp:5:10: Fatal error: iwlib.h: No such file or directory
     5 | #include <iwlib.h>
       |          ^~~~~~~~~
 compilation terminated.

编译过程中出现错误。该文件确实没有出现在我的 Yocto 存储库中。我认为文件 iwlib.hiw 包的一部分。在 .manifest 文件中,我可以看到包 iw,但我仍然没有 iwlib.h 文件

解决方法

iwlib.h 不是 iw 软件的一部分,而是 wireless-tools,c.f. https://github.com/HewlettPackard/wireless-tools/blob/master/wireless_tools/iwlib.hhttps://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/tree/(没有 iwlib.h)。

wireless-tools 已从 openembedded-core 中删除,因为它已经过时且未维护,以至于它不再有意义(尤其是因为 iw 取代了 wireless-tools。最后一个配方是在相扑中其内容可在此处获得:https://cgit.openembedded.org/openembedded-core/tree/meta/recipes-connectivity/wireless-tools?id=95957e3a5fc72406391441627fb19bc36c655072

请参阅 https://cgit.openembedded.org/openembedded-core/commit/meta/recipes-connectivity?id=f1978b7e1d68bd7813ae048ff9a37716618a473c 了解它被删除的原因。

我想您应该迁移到 iw 并使用我假设的 iw.h 吗?否则,您将需要采用旧的 wireless-tools 配方,最终使其适应您的 Yocto 版本,然后将其添加到您的软件的 DEPENDS 中。