更改我的源代码后,Buildroot 清理我的依赖项
Buildroot clean my dependencies after change my source code
我正在使用 buildroot 制作自定义 linux 图像,它正在运行。
问题是当我 运行 "make" 在更改我的包 "source code" 后完成图像时,因为它清除了我的自定义包依赖项并且所有 header 包含未找到。
我有一个依赖结构:
################################################################################
#
# hello
#
################################################################################
HELLO_VERSION = 1.0
HELLO_SITE = ./package/hello/src
HELLO_SITE_METHOD = local
HELLO_DEPENDENCIES += directfb libogg libvorbis mpg123 sdl2 sdl2_image sdl2_gfx sdl2_ttf sdl2_mixer sdl2_net
define HELLO_BUILD_CMDS
$(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" LD="$(TARGET_LD)" -C $(@D)
endef
define HELLO_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/hello $(TARGET_DIR)/usr/bin
mkdir -p $(TARGET_DIR)/opt/app
cp -r $(@D)/assets $(TARGET_DIR)/opt/app
endef
$(eval $(generic-package))
当我 运行 "make hello-rebuild && make" 时,我收到错误提示所有 SDL 包含的内容都不存在。
当我遇到这个错误时,我只重建了 "make sdl2-rebuild"、"make sdl2_mixer-rebuild" 等依赖包
任何人都可以帮助我了解如何解决它吗?
谢谢。
通常只需删除您的 output/build/hello-1.0
文件夹并再次键入 make
Buildroot 过去常常使用输出文件夹中的标记文件,它指示已构建了哪些目标。删除这些文件可以让您重建部分图像而无需太多开销。
在post之后其他地方也有同样的答案,一个buildroot用户的正确答案是编译时使用@STAGING目录而不是@TARGET目录。
在我的 makefile 中,我使用 @TARGET_DIR/usr/[folder] 编译它,但正确的是 @STAGING_DIR/usr[folder].
谢谢。
我正在使用 buildroot 制作自定义 linux 图像,它正在运行。
问题是当我 运行 "make" 在更改我的包 "source code" 后完成图像时,因为它清除了我的自定义包依赖项并且所有 header 包含未找到。
我有一个依赖结构:
################################################################################
#
# hello
#
################################################################################
HELLO_VERSION = 1.0
HELLO_SITE = ./package/hello/src
HELLO_SITE_METHOD = local
HELLO_DEPENDENCIES += directfb libogg libvorbis mpg123 sdl2 sdl2_image sdl2_gfx sdl2_ttf sdl2_mixer sdl2_net
define HELLO_BUILD_CMDS
$(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" LD="$(TARGET_LD)" -C $(@D)
endef
define HELLO_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/hello $(TARGET_DIR)/usr/bin
mkdir -p $(TARGET_DIR)/opt/app
cp -r $(@D)/assets $(TARGET_DIR)/opt/app
endef
$(eval $(generic-package))
当我 运行 "make hello-rebuild && make" 时,我收到错误提示所有 SDL 包含的内容都不存在。
当我遇到这个错误时,我只重建了 "make sdl2-rebuild"、"make sdl2_mixer-rebuild" 等依赖包
任何人都可以帮助我了解如何解决它吗?
谢谢。
通常只需删除您的 output/build/hello-1.0
文件夹并再次键入 make
Buildroot 过去常常使用输出文件夹中的标记文件,它指示已构建了哪些目标。删除这些文件可以让您重建部分图像而无需太多开销。
在post之后其他地方也有同样的答案,一个buildroot用户的正确答案是编译时使用@STAGING目录而不是@TARGET目录。
在我的 makefile 中,我使用 @TARGET_DIR/usr/[folder] 编译它,但正确的是 @STAGING_DIR/usr[folder].
谢谢。