如何在 Yocto 中创建 cmake 食谱?
How to create cmake recipes in Yocto?
我想弄清楚如何创建一个从 git 下载并使用 make 文件构建的食谱。
例如:
g3logger (git https://github.com/KjellKod/g3log.git)
食谱 "bb" 文件看起来应该是什么样子?
除了您的评论:
也许这是你的 Makefile 的错误?
对于字符串,它应该是:
#include <string.h>
或
#include <cstring>
您还可以显示特定任务的日志,例如 do_compile,这样我们会有更深入的了解。
bitbake 中调试任务的提示:Yocto Ref Manual - Debugging build failures
所以,这是 g3log 中的一个问题(其他程序也可能有)。如果您打开 'Build.cmake' 并查看第 53-56 行,您会看到:
ELSE()
set(PLATFORM_LINK_LIBRIES rt)
set(CMAKE_CXX_FLAGS "-Wall -rdynamic -Wunused -std=c++11 -pthread -D_GLIBCXX_USE_NANOSLEEP -D_GLIBCXX_USE_SCHED_YIELD")
ENDIF()
这会覆盖 OpenEmbedded 放入 toolchain.cmake 的内容。如果您将其更改为:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -rdynamic -Wunused -std=c++11 -pthread -D_GLIBCXX_USE_NANOSLEEP -D_GLIBCXX_USE_SCHED_YIELD")
它现在将继承 OpenEmbedded 希望您拥有的标志,例如 --sysroot=,以便找到标准包含。
我想弄清楚如何创建一个从 git 下载并使用 make 文件构建的食谱。 例如:
g3logger (git https://github.com/KjellKod/g3log.git)
食谱 "bb" 文件看起来应该是什么样子?
除了您的评论: 也许这是你的 Makefile 的错误? 对于字符串,它应该是:
#include <string.h>
或
#include <cstring>
您还可以显示特定任务的日志,例如 do_compile,这样我们会有更深入的了解。
bitbake 中调试任务的提示:Yocto Ref Manual - Debugging build failures
所以,这是 g3log 中的一个问题(其他程序也可能有)。如果您打开 'Build.cmake' 并查看第 53-56 行,您会看到:
ELSE()
set(PLATFORM_LINK_LIBRIES rt)
set(CMAKE_CXX_FLAGS "-Wall -rdynamic -Wunused -std=c++11 -pthread -D_GLIBCXX_USE_NANOSLEEP -D_GLIBCXX_USE_SCHED_YIELD")
ENDIF()
这会覆盖 OpenEmbedded 放入 toolchain.cmake 的内容。如果您将其更改为:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -rdynamic -Wunused -std=c++11 -pthread -D_GLIBCXX_USE_NANOSLEEP -D_GLIBCXX_USE_SCHED_YIELD")
它现在将继承 OpenEmbedded 希望您拥有的标志,例如 --sysroot=,以便找到标准包含。