On Darwin, the linker doesn't like it when vsnprintf is prefixed by an underscore. This obviously is an error, since it's only necessary for Windows. Add an extra guard, such that vsnprintf is left alone. --- api/libsphinxclient/sphinxclient.c +++ api/libsphinxclient/sphinxclient.c @@ -13,6 +13,7 @@ // did not, you can find it at http://www.gnu.org/ // +#if defined(_MSC_VER) #if _MSC_VER>=1400 // VS 2005 and above #define _CRT_SECURE_NO_DEPRECATE 1 @@ -21,6 +22,7 @@ // VS 2003 and below #define vsnprintf _vsnprintf #endif +#endif #include #include