Я не уверен, может ли это помочь, но эта ссылка:
http://www.lurklurk.org/linkers/linkers.html
перечислить некоторые различия между ссылками на Unix и Windows
Выдержка:
Самое главное различие между ними состоит в том, что символы не
автоматически экспортируется библиотеками Windows. В Unix все
символы из всех объектных файлов, которые были связаны с общим
библиотека видна пользователям библиотеки. В Windows
программист должен явно выбрать, чтобы сделать конкретные символы
видимые то есть. экспортировать их.
Существует три способа экспорта символа из Windows DLL (и все
три способа могут быть смешаны вместе в одной библиотеке).
In the source code, declare the symbol as `__declspec(dllexport)`, thusly:
__ declspec (dllexport) int my_exported_function (int x, double y);
On the invocation of the linker, use the /export:symbol_to_export option to LINK.EXE.
LINK.EXE /dll /export:my_exported_function
Get the linker to pull in a module definition (.DEF) file (by using the /DEF:def_file linker option), and in that file include an
раздел ЭКСПОРТ, содержащий символы, которые вы хотите экспортировать.
EXPORTS
my_exported_function
my_other_exported_function
Осталось бы попросить разработчиков MacOSX найти эти функции и сказать, какая конкретная библиотека имеет эти функции, перепроверить код, повторно объявить, если можете, и повторить попытку.
Извините, что не смог точно указать, в чем ваша проблема.
Также следует помнить, что Visual Studio является компилятором C ++, а не компилятором C, и, хотя он почти совместим с C90, библиотеки libssh или другие могут использовать некоторые конструкции C99, которые VS не поддерживает.
Надеюсь, это поможет вам найти свой путь.