Добавление Boost в Eclipse для C ++ - включает проблемы с путями - PullRequest
1 голос
/ 14 апреля 2011

У меня есть опыт разработки Windows, GNU и C ++, но я новичок в Eclipse. Я пытаюсь добавить Boost в мой проект Eclipse, который строится на Windows (но для встроенного процессора) с помощью цепочки инструментов GNU.

Я добавил Boost здесь: C: \ altera \ 10.1 \ quartus \ bin \ cygwin \ usr \ include \ boost_1_46_1

Я добавил этот каталог в мой путь включения Eclipse (свойства проекта | C / C ++ Общие | Пути и символы | Включает | GNU C ++), где я вижу C: \ altera \ 10.1 \ quartus \ bin \ cygwin \ usr \ include отображается как встроенный каталог.

Я могу просматривать эти каталоги и файлы в Eclipse Project Explorer и открывать их из Outline. Тем не менее, когда я включаю их, это не работает.

Мой код содержит это:

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>

Сгенерированная Eclipse строка сборки выглядит следующим образом (обратите внимание на отсутствие двух каталогов, упомянутых выше):

nios2-elf-gcc -xc++ -MP -MMD -c -I../NiosIITestSpin_bsp/UCOSII/inc -I../NiosIITestSpin_bsp/HAL/inc -I../NiosIITestSpin_bsp -I../NiosIITestSpin_bsp/drivers/inc  -DSYSTEM_BUS_WIDTH=32 -pipe -D__hal__ -DALT_NO_INSTRUCTION_EMULATION -D__ucosii__      -O0 -g -Wall   -EL -mhw-div -mcustom-fpu-cfg=60-1 -mhw-mul -mhw-mulx  -o obj/Test.o Test.cpp

Test.cpp:12:41: warning: boost/property_tree/ptree.hpp: No such file or directory
Test.cpp:13:46: warning: boost/property_tree/xml_parser.hpp: No such file or directory

Я очищаю, регенерирую make-файлы и перестраиваю, но не могу заставить компилятор увидеть этот новый каталог include.

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

Я гуглил и искал StackOverflow и Eclipse безрезультатно. Есть много схожих проблем, но ничего такого, что могло бы сработать для меня.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2013

У меня была та же проблема, и я прыгал через те же обручи (даже пробовал "" вместо <>). Решение оказалось действительно глупым. Это машина для окон; помните, что они по-разному обрабатывают пути к файлам.

Из исходного поста:

C: \ альтервитальных \ 10.1 \ Quartus \ Bin \ Cygwin \ USR \ включать \ boost_1_46_1

Измените направление косой черты так, чтобы оно показывало:

с: /altera/10.1/quartus/bin/cygwin/usr/include/boost_1_46_1

(Изменить путь включения; в свойствах проекта | Общие сведения о C / C ++ | Пути и символы | Включает | GNU C ++)

Это решило проблему для меня.

0 голосов
/ 15 апреля 2011

Попробуй так:

#include "boost/property_tree/ptree.hpp"
#include "boost/property_tree/xml_parser.hpp"

# include <> и #include "" обрабатываются по-разному. Первый означает «системный» путь включения, а второй - «пользовательский» путь включения.

...