Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с Boost под BCB 6  (Прочитано 12597 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugrita
Помогающий

ru
Offline Offline

« : 13-11-2011 04:05 » 

1)настройка boost под С++ Builder
Скачал Boost 1.32 вроде сделал необходимые шаги по настройке ее и проекта
т.е.
а)запустил утилиту make make –fbcb6.mak clean
б)в настройках include проекта установил ссылку на каталог boost
D:\Mathem_Libraries\boost_1_32_0
в) запустил пару тестовых программ
Код:
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
 using namespace boost::numeric::ublas;
 
int main () {
 
    matrix<double> m (3, 3);
    for (unsigned i = 0; i < m.size1 (); ++ i)
        for (unsigned j = 0; j < m.size2 (); ++ j)
            m (i, j) = 3 * i + j;
    std::cout << m << std::endl;
}
Проблема у них одна: компилятор выбрасывает сообщение что не может найти соответствие для
std::abs, std::sqrt и других функций

открывая при этом в проекте файл traits,hpp
насколько понимаю это не имеет отношения к
using namespace std

2)Собственно вопрос конечно не столько в boost сколько вообще в какой-нибудь библиотеке линейной алгебры под C++ работающей с матрицами, собств значениями
насколько понимаю их 3 - это boost, IMSL CML и alglib
c 1-ми двумя у меня сейчас или в свое время остались проблемы установки, 3-я благополучно работает
единственные небольшие недостатки alglib - надо бросать несколько h- и cpp-файлов в каждый проект
и включать их в проект и кроме того нет проги решения собственных частот в виде 2-х матриц (входные параметры)  т.е A=P*B  где A,B -симметричные матрицы

Собственно знаю таже что boost 1.42 включена в CodeGear (С++ Builder v.9) но также не мог его установить из-за отсутствия серийника
« Последнее редактирование: 13-11-2011 04:08 от eugrita » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 13-11-2011 08:30 » 

Код:
using namespace std;


eugrita, странно, что у тебя boost вообще заработал. Если будут проблемы, попробуй в настройках проекта поставить совместимость компилятора с ASNI. Только после этого родные VCL-библиотеки использовать нельзя. Т.ч. или-или.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
eugrita
Помогающий

ru
Offline Offline

« Ответ #2 : 22-11-2011 03:48 » 

согласно данной ссылке 
http://mimicria.ru/2011/05/04/c-builder-regular-expressions/
надо пройти шаги:
а) Зайти в папку \boost_1_33_0\tools\build\jam_src\ и в командной строке писать
build borland.
б)После компиляции в тек каталоге появ новый с именем bin.ntx86, в кот
будет файл bjam.exe. Его н скопировать в корневой каталог дистрибутива \boost_1_33_0\

Так вот ни каталога bin.ntx86, ни файла bjam.exe у меня не появилось!!!


Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 22-11-2011 05:55 » 

eugrita, почему бы тебе не использовать нормальный компилятор? MSVC или MinGW. Поверь, BCB - очень кривой и далекий от ANSI.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
eugrita
Помогающий

ru
Offline Offline

« Ответ #4 : 25-11-2011 17:00 » 

Хорошо. А все таки настроить boost _1_32 или 1_33 под BCB6 возможно. (cм. ссылку на mimicria )
По моему я частично понял причину отсутствия компиляции в своем случае:
она в том что файл build.bat вызывает компилятор bcc32 а тот не может найти (подцепить ряд c-файлов каталога \jam_src

if EXIST "C:\Borland\BCC55\Bin\bcc32.exe" (
    set BOOST_JAM_TOOLSET=borland
    set BOOST_JAM_TOOLSET_ROOT=C:\Borland\BCC55\
    goto :eof)
 
Пробовал изменить системную переменную path добавив к ней путь
d:\mathem_libraries\boost_1_32_0\tools\build\jam_src
но это не помогло
Может на это что дельное посоветуете?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #5 : 25-11-2011 17:29 » 

Обычно компилятор знает только про стандартные библиотеки. Все остальные надо ему показывать с помошью специальных опций. Посмотри как компилятор сделал в твоем скрине. Опции -I и -L
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines