htons не преобразует строку, она преобразует короткий (16 бит) из порядка байтов в порядке байтов сети
Может (возможно) реализовано как макрос. В моей системе (Debian Etch) он находится в файле /usr/include/netinet/in.h. Он принадлежит пакету libc6-dev, который является частью разработки стандартной библиотеки C.
Не уверен, как это организовано в OSX, но вы должны убедиться, что у вас установлены библиотеки разработки на C.