2012-03-01 3 views
0

Я пытаюсь встать и работать с Boost, поэтому я пытаюсь скомпилировать простую проблему с примера с страницы «Начало работы» Boost. У меня было два вопроса, и я не уверен, что они связаны (я лучше, чем новичок, но не очень), но, возможно, они связаны ...Невозможно получить cygwin для компиляции библиотек ускорения C++

1-й выпуск: «tar --bzip2 -xf /path/to/boost_1_49_0.tar.bz2 "команда не работает (да, я ввел правильный путь, но он дал мне некоторые ошибки, я забыл, что они были), поэтому я использовал" tar - xjvf "из каталога, где была расположена boost_1_49_0.tar.bz2. Это сняло сжатый zip-файл, и я продолжил пример ...

2-я проблема: файл example.cpp не будет компилироваться, первый оператор в коде: #include "boost/lambda/lambda.hpp" но затем для каждого файла заголовка lambda.hpp пытается получить доступ, есть ошибка компиляции «Нет такого файла или каталога». Например, вот два (из шести, и я получаю ошибки для всех 6) заголовочных файлов в файле lambda.hpp и ошибки, отображаемые компилятором cygwin:

boost/lambda/lambda.hpp: 14: 33: повышение/лямбда/core.hpp: Нет такого файла или каталога подталкивание/лямбда/lambda.hpp: 21: 52: усиление/лямбда/подробно/operator_actions.hpp: Нет такого файла или каталога

Если это помогает, это (я обычно создаю исполняемый файл в отдельной команде -o): g ++ -c example.cpp

Почему система не может найти их? Я добавил установленную директорию (путь/to/boost_1_49_0) к переменной PATH до того, как я начал, поэтому я знаю, что это не так. Спасибо за любые советы ...

(я смотрел на StackOverflow и были аналогичные проблемы, но никаких решений, которые работали)

ответ

1

Это выглядит, как вы уже решен первый вопрос: а именно, что вы должен указать флаг -j для tar для распаковки файла bzip2'd.

Для второй проблемы вам нужно указать boost на вашем пути включения, указав его с помощью -I command line option или с помощью CPLUS_INCLUDE_PATH environment variable.

+0

Спасибо за ответ, но ни один подход не работал, я все равно получаю те же ошибки компиляции, когда он не может найти файл или каталог. – user1243797

+0

Я прочитал -I, -L, включил путь, путь поиска и то, как это необходимо, чтобы явным образом определить ваши файлы заголовков в этих переменных среды (CPLUS_INCLUDE_PATH). Тем не менее, я все еще получаю ту же ошибку (ы). В cygwin переменная PATH является переменной пути включения, указанной в ссылке в ответе. Я включил ... boost/lambda/в переменную PATH, переменную CPLUS_INCLUDE_PATH, и эта простая программа все еще зажимает ее. Если вам нужна дополнительная помощь, спасибо – user1243797

Смежные вопросы