Проблема с использованием Boost в Code :: blocks - PullRequest
0 голосов
/ 23 августа 2011

Я пытаюсь настроить Code :: Blocks (работает в Windows, используя MinGW) с библиотекой Boost. Я собрал библиотеку и установил все в C: \ Program Files \ boost_1_47_0.

Внутри самого Code :: Blocks я создал глобальную переменную, в которой используются два встроенных поля: base и include, которые оба указывают на путь ускоренной установки.

Я также изменил настройки компоновщика в параметрах сборки и добавил библиотеку ссылок '$ (# boost.lib)'. Чтобы проверить повышение, я поместил #include в свой проект, фактически не используя include. Тем не менее, проект не компилируется (он, конечно, собирался до помещения в него #include), и я получаю ошибку компоновки, возникающую из "ld.exe", который говорит: "не удается найти -l-lstdc ++". Кто-нибудь знает, что я делаю не так?

Приветствие.

1 Ответ

0 голосов
/ 23 августа 2011

Ошибка, которую вы получаете, говорит, что не может найти -l-lstdc++; в настройках библиотеки ссылок произошла ошибка.

Если вы попытаетесь скомпилировать простое приложение C ++ (не Boost) в командной строке и введите:

g++ main.cpp -o main.o -l-lstdc++

Вы получите ту же ошибку, что и в Code :: Blocks:

/usr/bin/ld: cannot find -l-lstdc++

Это потому, что имя вашей библиотеки указано как -lstdc++, когда оно должно быть просто stdc++ без -l. (-l - это флаг, сообщающий компилятору, что следующим словом является имя библиотеки.)

Проверьте дополнительные параметры библиотеки ссылок на -l или попробуйте заменить $(#boost.lib) фактическим путем к библиотеке Boost.

...