Что я делаю не так и почему не удается найти библиотеку?
Читать о Вызов GCC . Вы ошиблись, не прочитав это (или любую другую документацию gcc
).
Порядок аргументов программы для gcc
имеет большое значение (и вНа практике несколько аргументов очень полезны, например, как -Wall
и -g
как минимум, а иногда и -v
иногда).Вы хотите что-то вроде
gcc -v -Wall -g my.c -lmylib-osx -o my
(также попробуйте варианты этого), так как gcc
выполняет некоторую ld
или эквивалентную команду компоновщика , и если вы хотите передать некоторые -L
lib-directory использовать что-то вроде
gcc -v -Wall -g my.c -L./bin -lmylib-osx -o my
, и вам также необходимо прочитать документацию по MacOSX linker (возможно, с именем ld
).Вы также можете прочитать книгу Levine и загрузчики book.
Если вас не устраивает gcc
(но, пожалуйста, используйте последнюю версию, так что GCC8 в 2019 году, а не дрянное программное обеспечение, продаваемое Apple под названием gcc
), рассмотрите возможность использования Clang (также последняя версия, например, Clang 8 в 2019 году).Он имеет то же ограничение в отношении порядка аргументов программы, что и gcc
(поскольку порядок аргументов программы даже имеет значение для Unix или POSIX cc
).
В общем, прочитайте документацию команды, прежде чем задавать вопросы здесь об этой команде.Минимум, man gcc
на вашем компьютере Apple (или Linux).
PS.В последний раз я использовал MacOSX в 2004 году. Моя предвзятая рекомендация - установить и использовать Linux (который я использую с 1993 года; я пробовал MacOSX около 2004 года менее чем за год, и разочарован работой система , включая сервер отображения и графический интерфейс пользователя для настольной среды и оборудование Apple).