A R*_*A R 1 linux build autotools embedded-linux yocto
我试图在继承自动工具后使用yocto构建我的库。我需要在最终映像中打包“ .so”文件,因为我的应用程序在运行时会动态链接该库。但是我在最终图像中找不到我的.so文件,相反,我可以看到“ .so.0”和“ .so.0.0.0”。因此,我尝试在食谱中添加以下规则。
FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/"
Run Code Online (Sandbox Code Playgroud)
加上这个给我一个错误。
ERROR: QA Issue: non -dev/-dbg/-nativesdk package contains symlink .so:
Run Code Online (Sandbox Code Playgroud)
我可以理解“ .so”文件是符号链接,我无法将它们打包在映像中,因为它们是供开发人员软件包使用的。但是我不知何故需要目标图像中的“ .so”文件。有没有出路?
注意:可以将应用程序源代码修改为采用“ .so.0.0.0”,但这是最不推荐的选择。
最好的解决方案是使您的应用程序链接到版本库文件。
为了避免在打包未版本控制的.so文件时出现质量检查错误,您应该添加
INSANE_SKIP_${PN} = "dev-so"
Run Code Online (Sandbox Code Playgroud)
到你的食谱。这样可以避免dev-so对package 进行测试${PN}。