Search code examples
iossyntax-errorclangtheosarm64

Theos for ARM64 doesn't work properly (Clang throws error)


i'm having big problems with theos on arm64. first some information before.

Device: iPad Air 2 ARM64

iOS: 8.1.2 jailbroken

Installed: Theos, iPhoneOS8.1 SDK, BigBoss Recommended Tools, newest headers from rpetrich.

Tweak.xm

%hook SBApplicationIcon

-(void)launch{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"TEST"
message:@"message...." delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
    [alert show];
    [alert release];
    %orig;
}


%end

Makefile

export ARCHS = armv7 armv7s arm64
export TARGET = iphone:clang:8.1:8.1
export SDKVERSION=8.1
include $(THEOS)/makefiles/common.mk

TWEAK_NAME = test
test_FILES = Tweak.xm
test_FRAMEWORKS = UIKit
include $(THEOS_MAKE_PATH)/tweak.mk

I typed "make" to make a .dylib.

Making all for tweak test...
 Preprocessing Tweak.xm...
 Compiling Tweak.xm...
*/bin/sh: **clang++: command not found**
make[2]: *** [obj/Tweak.xm.360b8e67.o] Error 127
make[1]: *** [internal-library-all_] Error 2
make: *** [test.all.tweak.variables] Error 2*

I'm spending the whole day for this annoying error..


Solution

  • If you have DHowett's version of Theos, it will not work with arm64. As far as I know CoolStar has the best Theos fork that supports arm64.

    If you follow these steps you should have all of the rest of the dependencies, - clang, Darwin-CC tools, etc. - and then you can remove the Theos package and place CoolStar's fork (above) into '/var/theos/'.

    For further help you can ask on the #Theos channel of Saurik's IRC server irc.saurik.com for help.