Xcode не строит статические библиотеки должным образом (функции не в них)
-
25-10-2019 - |
Вопрос
По сути, я могу создать и составить статическую библиотеку в XCode4, но функции не читаются OTOOL. Мне удалось это сделать однажды так что это сработало, но с тех пор он потерпел неудачу, поэтому я знаю, что мне не хватает очевидного шага.
Что я в настоящее время делаю, так это создаю новое приложение, основанное на представлении, в XCode4, я добавляю новую цель (номера), номерам я добавляю исходный файл с именем file.c, а его содержимое:
static int Get10()
{
return 10;
}
Затем я составляю его (убедитесь, что я выбрал числа | ИСТИНСКИЙ ИДАКАТОР 4.3 в схеме схемы сборки).
Но когда я запускаю otool -s на Libnumbers. Я не получаю результатов:
Размер структур RANLIB: 0 (номер 0) Индекс смещения объекта Строка
Я знаю, что там должно быть кое -что, потому что, если я запускаю otool -s на правильно созданных Libnumbers. Я получаю несколько чисел вместо 0s:
Размер структур RANLIB: 16 (номер 2) Смещение объекта Индекс строки 136 0 136 7
Я действительно не знаю, что я делаю неправильно, я попробовал обратно, что я сделал с успешным компиляцией LIB, который я сделал, но на самом деле ничего не нашел, чтобы указать, почему функции, составленные с этим, но не на этом.
Решение
Не используйте static
Если вы хотите использовать функцию вне блока перевода, в которой она определена. Вместо этого вы хотите внешнюю связь для функции, просто исключив static
Часть (внешняя связь - это по умолчанию для функций).