Я разрабатываю исполняемые файлы интерфейса командной строки для osx и linux с помощью c/С++. Проект будет связан с opencv. Должен ли я использовать libС++ или libstdС++?
Должен ли я использовать libС++ или libstdС++?
Ответ 1
Я бы использовал собственную библиотеку для каждой ОС i.e. libstdС++ в GNU/Linux и libС++ в Mac OS X.
libС++ не заполнен на GNU/Linux на 100%, и нет реального преимущества для его использования, когда libstdС++ более совершенен. Кроме того, если вы хотите ссылаться на любые другие библиотеки, написанные на С++, они почти наверняка были бы построены с помощью libstdС++, поэтому вам нужно будет связать их с ними, чтобы использовать их.
Ответ 2
Основные дистрибутивы Linux не предоставляют LLVM libС++, потому что:
- В отличие от Apple и FreeBSD, GPL + 3 не является проблемой, поэтому нет необходимости реализуем еще один стек.
- Linux-компоненты уже давно разрабатывались в GNU libstd ++. Некоторые из них не строите ничего.
- В то время как libС++ силен в новых функциях, он имеет некоторые проблемы с устаревшим кодом.
Если в итоге libС++ стал частью дистрибутивов, он будет в качестве необязательного компонента. связывание с ним, вероятно, потребует дополнительных опций.
Как сказал Джонатан, вы должны использовать любой инструмент, который включен по умолчанию. Clang безопасен для Linux, поскольку он настроен как замена GCC, поэтому в этом аспекте вам не нужно беспокоиться о 2 компиляторах. Кроме того, поскольку вы ориентируетесь на две платформы, вы должны взглянуть на cmake.
Ответ 3
сказано, что libС++ имеет более человечно читаемые сообщения об ошибках в шаблонах.