如何在MacOSX上编译RarCrack?

如何在MacOSX上编译RarCrack?,macos,gcc,clang,ld,Macos,Gcc,Clang,Ld,我正在尝试使用命令行编译Rarcrack: gcc -pthread rarcrack.c `xml2-config --libs --cflags` -O2 -o rarcrack 我正在使用最新版本的Xcode和命令行工具 Undefined symbols for architecture x86_64: "_savestatus", referenced from: _loadstatus in rarcrack-sh2Aob.o _status_threa

我正在尝试使用命令行编译Rarcrack:

gcc -pthread rarcrack.c `xml2-config --libs --cflags` -O2 -o rarcrack
我正在使用最新版本的Xcode和命令行工具

Undefined symbols for architecture x86_64:
  "_savestatus", referenced from:
      _loadstatus in rarcrack-sh2Aob.o
      _status_thread in rarcrack-sh2Aob.o
      _crack_thread in rarcrack-sh2Aob.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我不断地遇到这些架构错误。关于这个意思有什么疑问吗?

今天我想要一个小的
.rar
/
.zip
密码破解器,结果遇到了rarcack

我能够将rarcack(从)编译到macosx(我的Github:)

基本上,MacOSX版本的GCC不喜欢使用原始代码中的许多内联函数。我删除了内联函数,使它们成为普通函数,并做了一些其他的小改动,使其得以编译。我通过在提供的示例上运行rarcack来检查它是否有效

如何编译:

$ git clone https://github.com/jaredsburrows/Rarcrack
$ cd Rarcrack
$ make

说明中提到您确实“制造”了它。这对您不起作用吗?这是makefile中的第一个也是默认任务。这就是运行的确切命令。奇怪的是,您使用GCC编译,但错误来自于clang。你是在Linux还是Mac上?我是在Mac上。而且rarcack支持mac。@AlexV,我在mac上,我必须编辑代码并编译它,请参见下面的答案。不幸的是,它没有编译,但生成了两个警告:
rarcack.c:274:1:warning:control到达非空函数的结尾[-Wreturn type]rarcack.c:315:1:warning:control到达非空函数的结尾[-Wreturn type]
。我不明白为什么会出现警告,因为这两种方法都使用
void
作为返回类型。有没有办法解决这个问题?@KayJ TravisCI说我的版本正在通过。@Gurol'Ca到源代码的链接在我的答案中。@JaredBurrows我得到了以下错误``ld:file not found:/usr/lib/system/libsystem\u containermanager.dylib for architecture x86\u 64 clang:error:linker命令失败,退出代码为1(使用-v查看调用)```