Я уверен, что этот вопрос был задан в разных ипостасях (заранее извиняюсь) —
Я использую Xcode 4.5.2
Очень простое терминальное приложение, которое ничего не делает, как следует …
#include <boost/regex.hpp>
int main(int argc, const char * argv[])
{
boost::regex regday_pattern("\\");
return 0;
}
Примите во внимание, что регулярное выражение в boost требует библиотеки, а не только заголовка boost. Будучи относительно новым для xcode и окружения unix, я немного запутался в том, как мне нужны мои настройки, чтобы я не получил следующую ошибку компоновки …
Неопределенные символы для архитектуры x86_64:
«Повышение :: basic_regex
Будем благодарны за любую помощь в этом вопросе — я прочитал несколько ответов на подобные вопросы, и у меня были проблемы с отображением их в моей ситуации.
ТИА
Возможно, вы получили ошибку компоновщика, потому что вы на самом деле не создавали библиотеки Boost.Regex.
Пожалуйста, следуйте инструкции по сборке из документации Boost:
Введите в командной строке следующие команды (не вводите $;
представляет подсказку оболочки):
$ cd path/to/boost_1_53_0
$ ./bootstrap.sh --help
Выберите свой
параметров конфигурации и снова вызовите ./bootstrap.sh без
опция —help. Если у вас нет разрешения на запись в каталог / usr / local / вашей системы, вы, вероятно, захотите хотя бы использовать
$ ./bootstrap.sh --prefix=path/to/installation/prefix
установить
где-нибудь еще. Также рассмотрите возможность использования--show-libraries
а также
--with-libraries=library-name-list
варианты, чтобы ограничить долгое ожидание, которое вы испытаете, если будете все строить. В заключение,
$ ./b2 install
оставит Boost-файлы в
lib/
подкаталог
ваш установочный префикс. Вы также найдете копию Boost
Заголовки вinclude/ subdirectory
префикса установки, так
Вы можете впредь использовать этот каталог в качестве#include
путь вместо
Boost корневой каталог.
Наконец, убедитесь, что вы можете собрать и запустить Пример регулярного выражения из документации Boost.
Других решений пока нет …