【问题标题】:How to compile RarCrack on Mac OSX?如何在 Mac OSX 上编译 RarCrack?
【发布时间】:2013-09-27 13:29:14
【问题描述】:

我正在尝试通过命令行编译 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)

我不断收到这些架构错误。任何骰子的含义?

【问题讨论】:

  • 说明中提到您需要“制作”来构建它。这不适合你吗?
  • 这是 makefile 中的第一个也是默认任务。所以这是运行的确切命令。
  • 您使用 GCC 进行编译很奇怪,但错误来自 clang。您使用的是 Linux 还是 Mac?
  • 我在 Mac 上。并且 rarcrack 支持 mac。
  • @AlexV,我在 Mac 上,我必须编辑代码并编译它,请参阅下面的答案。

标签: macos gcc clang ld


【解决方案1】:

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

我能够将 Rarcrack(从 http://rarcrack.sourceforge.net/)编译到 Mac OSX(我的 Github:https://github.com/jaredsburrows/Rarcrack)。

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

如何编译:

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

【讨论】:

  • 不幸的是它没有编译但会产生 2 个警告:rarcrack.c:274:1: warning: control reaches end of non-void function [-Wreturn-type] rarcrack.c:315:1: warning: control reaches end of non-void function [-Wreturn-type]。我不明白为什么会出现警告,因为这两种方法都使用 void 作为返回类型。任何想法如何解决这个问题?
  • @KayJ TravisCI 说我的构建正在通过。
  • @Gurol'Ca 源链接在我的回答中。
  • @JaredBurrows 我收到以下错误 ``` ld: file not found: /usr/lib/system/libsystem_containermanager.dylib for architecture x86_64 clang: error: linker command failed with exit code 1 (使用 -v 查看调用)```
猜你喜欢
  • 2012-01-17
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2013-05-04
  • 2012-02-17
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
相关资源
最近更新 更多