У меня возникла противоположная проблема: Можете ли вы скомпилировать общий объект, предпочитая локальные символы, даже если он загружается программой, скомпилированной с -rdynamic? решает.
ИспользованиеИменуя связанный вопрос, у меня есть динамическая библиотека, в которой baz
вызывает bar
, и у меня есть тестовый двоичный файл, работающий с библиотекой, который заменяет собственную ложную реализацию bar
для целей тестирования.Это прекрасно работает в Linux, потому что -rdynamic
используется для связи.
Источником теста является https://github.com/apache/qpid-dispatch/blob/b172f501028b36d786b4c83bcee1e195cd17fcf2/tests/timer_test.c. Перечисленные функции, среди прочих qd_server_timeout
и qd_timer_now
(чтоявляется встроенным, см. комментарии).
Я не знаю, как добиться того же в macOS.Каковы правильные параметры компоновщика там?