Архитектура i386 устарела в ошибке MacOS - PullRequest
0 голосов
/ 04 декабря 2018

Я совершенно новичок в среде Mac и использую его всего несколько часов.Когда я запускаю скрипт оболочки, я получаю следующую ошибку:

ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: ignoring file /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
Undefined symbols for architecture i386:
  "_OSAtomicCompareAndSwapPtr", referenced from:
  ___darwintrace_setup in darwintrace.o
  "__DefaultRuneLocale", referenced from:
  _check_interpreter in proc.o
  "___error", referenced from:
      __dt_access in access.o
      __dt_close in close.o
  ___darwintrace_setup_tls in darwintrace.o
  ___darwintrace_setup in darwintrace.o
  __dt_dup2 in dup2.o
  __dt_mkdir in mkdir.o
  __dt_open in open.o
  ...
  "___getdirentries64", referenced from:
      __interpose___getdirentries64 in readdir.o
  "___maskrune", referenced from:
      _check_interpreter in proc.o
  "___snprintf_chk", referenced from:
      ___darwintrace_sandbox_check in darwintrace.o
      ___darwintrace_log_op in darwintrace.o
  "___stack_chk_fail", referenced from:
      ___darwintrace_setup in darwintrace.o
      ___darwintrace_is_in_sandbox in darwintrace.o
      ___darwintrace_sandbox_check in darwintrace.o
      ___darwintrace_log_op in darwintrace.o
      _check_interpreter in proc.o
      __dt_getdirentries64 in readdir.o
     __dt_getdirentries in readdir.o
  ...

  "_unlink", referenced from:
      __interpose_unlink in unlink.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [darwintrace.dylib] Error 1
make[1]: *** [all] Error 1
make: *** [all] Error 1

Как удалить архитектуру i386 из Xcode?Как мне устранить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 19 мая 2019

Использование xcode 9.4 или 9.4.1, который является последней версией, поддерживающей 32-битную сборку и действующей в Mojave.

0 голосов
/ 28 декабря 2018

Таким образом, проблема в том, что Apple удалила возможность компилировать 32-битные программы на macos с xcode10

source: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...