g ++ compilier как включить boost :: regex

0

Я установил boost, поэтому я пытаюсь запустить компилятор следующим образом: g++ -LC:\MinGW\boost_1_55_0\stage\lib -lboost_regex-mgw49-mt-1_55 test.cpp

Моя программа test.cpp не очень сложна:

#include <iostream>         
int main()
{
  std::cout << "Hello, world!" << std::endl;    
  boost::regex rex("[test]");
}

Я, конечно, потерпел неудачу: error: 'boost' has not been declared. Я не могу понять, что должен написать в файле test.cpp рядом с #include <iostream>? #include <boost> не работает, я получаю ошибку fatal error: boost: No such file or directory. #include <boost/regex.hpp> также дает эту ошибку, может быть #include <boost_regex-mgw49-mt-1_55>? Но это все еще не работает.

Теги:
boost
g++

1 ответ

1

Вам нужно включить regex.hpp в свою основную часть. Вы намекаете, что пытались, но, похоже, это не сработало.

Убедитесь, что regex.hpp - это то, где вы указываете компилятору относительно одного из ваших поисковых каталогов. Недостаточно сказать, чтобы компилятор включил boost/regex.hpp, файл должен существовать там, где компилятор ищет его, чтобы его можно было найти.

Вам нужно будет скопировать этот файл из любого места, где вы его загрузили, где-то компилятор будет знать, для его поиска. Как только вы это сделаете, он должен найти его, и эта ошибка должна исчезнуть.

Также обратите внимание, что то же самое относится к объектным файлам, к которым вы пытаетесь подключиться. Если компоновщик не может найти этот файл, вы просто получите ошибку компоновщика, как только вы очистите эту ошибку компилятора.

  • 0
    Спасибо! Итак, я нашел regex.hpp в 'C: \ MinGW \ boost_1_55_0 \ boost'. Скопировал его в C: \ MinGW \ boost_1_55_0 \ stage \ lib и даже в C: \ MinGW \ boost_1_55_0 \ stage. Я добавил <include regex.hpp> в test.cpp, но все еще ошибка.
  • 0
    Вам не нужен заголовочный файл в каталоге lib. Компилятор имеет разные каталоги поиска для компоновщика и компилятора. Возможно, вам потребуется указать новый каталог поиска для компилятора, но я не вижу никакой причины, по которой вы не можете просто создать папку boost внутри вашей исходной папки проекта и поместить туда regex.hpp. Тогда "#include" boost / regex.hpp "должно работать.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню