Как избавиться от ошибок ссылок XCode Architecture? - PullRequest
1 голос
/ 12 июля 2011

Я создаю приложение Maya в XCode (3.2.6) для Mac. Я создаю свои собственные библиотеки, на которые я делаю ссылки, и, кроме того, я делаю ссылки на некоторые библиотеки Maya, которые включены в приложение. Кажется, что Maya 64-битная, и когда я запускаю файл из терминала на одной из dylibs, мне нужно сделать ссылку на нее с надписью «64-битная динамически связанная библиотека шардов x86_64». Это все хорошо, и я могу построить все свои проекты.

Однако я получаю массу предупреждений, которые все говорят что-то вроде:

...dylib, file was built for unsupported file format which is not the architecture being linked (i386)

Я получаю по одному на каждую библиотеку, на которую я ссылаюсь, включая те, которые я создал. У меня есть странное подозрение, что это предупреждение серьезное и что оно влияет на их удобство использования. Maya не может загрузить мой пакет верхнего уровня, и я предполагаю, что это из-за этого предупреждения. По крайней мере, было бы неплохо избавиться от них, потому что для Windows это звучит очень плохо. Все мои настройки проекта в целом одинаковы для настройки «Архитектура». Моя «Архитектура» просто установлена ​​на «64-битный Intel», а моя «Действительная архитектура» установлена ​​на «ppc64 x86_64». Ранее у меня был последний аргумент: «i386 ppc ppc64 ppc7400 ppc970 x86_64», но это тоже не сработало. Я перепробовал множество различных настроек, но мне не повезло избавиться от этих предупреждений.

Я предполагаю, что мой вопрос: что определяет «архитектуру, которая связана»? Откуда исходит предупреждение i386? Это не похоже на настройку проекта. Звучит ли это как что-то, что может застрелить меня в ногу? Любые предложения по избавлению от этого?

1 Ответ

2 голосов
/ 12 июля 2011

i386 - 32-битный x86. Вы должны убедиться, что все библиотеки, которые вы создаете, x86-64. Обратите внимание, что проверки настроек проекта может быть недостаточно, поскольку архитектура может быть переопределена на уровне target , поэтому вам также необходимо проверить архитектуру для каждой цели.

...