за windows - PullRequest
       3

за windows

0 голосов
/ 28 января 2020

Я использую функции strlcpy, strlcat, strtok_r в моей программе c. Когда я скомпилировал его, я получил

undefined reference to `strlcpy', undefined reference to `strlcat', undefined reference to `strtok_r'

Я погуглил и обнаружил, что мне нужно использовать <bsd/string.h>. Но я нашел ресурсы только для установки libbsd для linux.

Может кто-нибудь подсказать мне, как установить bsd для windows

1 Ответ

1 голос
/ 28 января 2020

К сожалению для вас, на данный момент нет официального порта libbsd для Windows. Возможны следующие варианты:

  1. заменить нестандартные strl* функции стандартными (но несколько хуже) strn* функциями (например, strncpy, strncat)
  2. заменить нестандартные strl* функции с Windows 'нестандартными _s функциями (например, strcpy_s, strcat_s, strtok_s)
  3. устанавливают неофициальный libbsd-minimal пакет, который требует работать для Windows (не проверено)
  4. собрать и установить libbsd самостоятельно на MinGW на основе этого давнего запроса на загрузку libbsd

По всей вероятности , (2) получает вас ближе всего (на основе сходства API), но, вероятно, потребует от вас добавить некоторые c макросы или код утилиты, определяемые платформой, чтобы оставаться переносимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...