gpt4 book ai didi

makefile - 如何在 Theos makefile 中包含资源文件?

转载 作者:行者123 更新时间:2023-12-02 19:26:52 25 4
gpt4 key购买 nike

我用 theos 做了一个功能齐全的调整,我需要使用一个图像文件其中,获取图像的代码是正确的(在Xcode上测试)。但该图像未包含在最终的 DEB 文件中。

我有这个 makefile :

SDKVERSION=6.0
include theos/makefiles/common.mk
include theos/makefiles/tweak.mk

TWEAK_NAME = MyTweak
MyTweak_FRAMEWORKS = Foundation CoreGraphics UIKit
MyTweak_FILES = Tweak.xm image.png

include $(THEOS_MAKE_PATH)/tweak.mk

但是当我尝试编译时,我得到:

 No rule to make target `obj/image.png.o', needed by `obj/MyTweak.dylib'.  Stop. 

我该怎么做才能包含它?

(抱歉,语法错误,来自 iPhone 的询问)。

最佳答案

MyTweak_FILES 变量应该只包含可以编译的文件。使文件以不同的方式处理资源。

要包含资源,您需要按如下方式创建 bundle 。

1) 在tweak.xm 目录中创建一个名为Resources 的文件夹。

2) 将所有资源文件(所有 PNG)放入该文件夹中。

3) 将以下信息添加到您的 make 文件

BUNDLE_NAME = your_bundle_identifier

your_bundle_identifier_INSTALL_PATH = /Library/MobileSubstrate/DynamicLibraries

include $(THEOS)/makefiles/bundle.mk

4) 在tweak.xm 文件顶部定义您的 bundle ,如下所示。

#define kBundlePath @"/Library/MobileSubstrate/DynamicLibraries/your_bundle_identifier.bundle"

5) 您现在可以初始化 bundle 并在调整中使用图像,如下所示:

NSBundle *bundle = [[[NSBundle alloc] initWithPath:kBundlePath] autorelease];

NSString *imagePath = [bundle pathForResource:@"your_image_name" ofType:@"png"];

UIImage *myImage = [UIImage imageWithContentsOfFile:imagePath]

在上述步骤中,将 your_bundle_identifier 替换为控制文件中的调整包标识符。 (例如:com.yourdomain.tweak_name)

还将 your_image_name 替换为您要使用的图像的名称。

您几乎可以通过上述方式使用任何资源(例如:声音文件)。

关于makefile - 如何在 Theos makefile 中包含资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15999757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com