PMG https://forum.pmg.org.ru/ |
|
C++ Builder 6.0 and ODE. Компиляция. https://forum.pmg.org.ru/viewtopic.php?f=5&t=8138 |
Страница 1 из 1 |
Автор: | berni27 [ 16 окт 2011 15:05 ] |
Заголовок сообщения: | C++ Builder 6.0 and ODE. Компиляция. |
Добрый день! Я являюсь поклонником С++ Builder 6.0. Я скомпилировал ODE под С++ Builder 6.0 без Trimesh, а также несколько примеров. Есть проблемы с компиляцией Trimesh, а также в вызове некоторых функций. Нужны добровольцы для проведения эксперимента по компиляции ODE под С++ Builder 6.0 на своем компе, а дальнейшем составления FAQ, по возможности попробуем также решить проблемы с Trimesh. Моих знаний не хватает поэтому обращаюсь за помощью. Заранее благодарю! Писать в личку. p.s. для пессимистов - действительно ODE компилится и работает!!!!!!!! |
Автор: | MagicWolf [ 17 окт 2011 15:26 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
А какие проблемы с компиляцией? |
Автор: | berni27 [ 17 окт 2011 20:38 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Не компилится TriMesch. Поэтому ищу добровольцев(ца) для проведения эксперимента по компиляции ODE на своем компе. Тех.поддержку гарантирую. |
Автор: | Da Man [ 18 окт 2011 08:56 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
На сколько я помню, в нете было много холиваров на тему, что билдер не соответствует стандарту. Либо же в примере есть что-то мс специфик. В мире разработки по студия давно уже стала стандартом. |
Автор: | berni27 [ 18 окт 2011 10:12 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Я поклонник С++ Builder 6.0., поэтому ищу единомышленников. VS - это другая история. Компилится под Builder ODE и работает без TriMesch. Нужны добровольцы для проведения эксперимента по компиляции. |
Автор: | MagicWolf [ 19 окт 2011 13:45 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Понятно, я тоже на билдере ничего не делал, но народу много его юзает, возможно кто и поможет. Какие хоть ошибки при компиляции-то вылезают? |
Автор: | berni27 [ 19 окт 2011 21:57 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Самая сложная ошибка для меня была E2015 Ambiguity between 'Point::operator const float *() const' and 'Point::operator float *()' я нашел решение этой проблемы, но тогда возникает проблема в Тrimesh p.s. официально ODE С++ Builder не поддерживается (ответ разработчика ODE одному пользователю на его вопрос) |
Автор: | berni27 [ 18 сен 2012 21:28 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Приветствую! скомпилил ODE последней версии под С++ Builder 6.0 update 4 betweenы победил! Конечно, не все работает как надо, но для ознакомления пойдет! |
Автор: | MagicWolf [ 19 сен 2012 13:18 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Может тогда поделишься опытом или ссылку дашь, где это описано. |
Автор: | berni27 [ 19 сен 2012 18:19 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
В ...\ode\build запускаем premake4 c ключами получаем проектик для vs затем prjconverter -ом в dsp затем из buildera утилитой vc ++ conversion в проект для buildera И компилировать ... компилировать ... компилировать ... пока не получится ode.dll Примерно как-то так, компилируем под dDOUBLE некоторые betweenы при компиляции сложно обходить, некоторые вопросы и у меня остались... Будут добровольцы, можно еще раз скомпилировать, одна голова хорошо, а две лучше. dll и lib могу выложить, а вот в идеале - должен получится правильно скомпилированный ODE под builder, вот этого хочется! |
Автор: | berni27 [ 20 сен 2012 09:15 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
компилировал без trimesh сейчас пробую заново учел все предыдущие свои ошибки нужно исходник функции double nextafter(double from, double towards); заранее, благодарю за ссылку или код |
Автор: | MagicWolf [ 24 сен 2012 14:00 ] |
Заголовок сообщения: | Re: C++ Builder 6.0 and ODE. Компиляция. |
Надо искать компилер с открытым кодом для стандартной библиотеки. Взято из DJGPP: Код: /* @(#)s_nextafter.c 5.1 93/09/24 */
/* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice * is preserved. * ==================================================== */ /* FUNCTION <<nextafter>>, <<nextafterf>>---get next number INDEX nextafter INDEX nextafterf ANSI_SYNOPSIS #include <math.h> double nextafter(double <[val]>, double <[dir]>); float nextafterf(float <[val]>, float <[dir]>); TRAD_SYNOPSIS #include <math.h> double nextafter(<[val]>, <[dir]>) double <[val]>; double <[exp]>; float nextafter(<[val]>, <[dir]>) float <[val]>; float <[dir]>; DESCRIPTION <<nextafter>> returns the double) precision floating point number closest to <[val]> in the direction toward <[dir]>. <<nextafterf>> performs the same operation in single precision. For example, <<nextafter(0.0,1.0)>> returns the smallest positive number which is representable in double precision. RETURNS Returns the next closest number to <[val]> in the direction toward <[dir]>. PORTABILITY Neither <<nextafter>> nor <<nextafterf>> is required by ANSI C or by the System V Interface Definition (Issue 2). */ /* IEEE functions * nextafter(x,y) * return the next machine floating-point number of x in the * direction toward y. * Special cases: */ #include "fdlibm.h" #ifndef _DOUBLE_IS_32BITS #ifdef __STDC__ double nextafter(double x, double y) #else double nextafter(x,y) double x,y; #endif { __int32_t hx,hy,ix,iy; __uint32_t lx,ly; EXTRACT_WORDS(hx,lx,x); EXTRACT_WORDS(hy,ly,y); ix = hx&0x7fffffff; /* |x| */ iy = hy&0x7fffffff; /* |y| */ if(((ix>=0x7ff00000)&&((ix-0x7ff00000)|lx)!=0) || /* x is nan */ ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) /* y is nan */ return x+y; if(x==y) return x; /* x=y, return x */ if((ix|lx)==0) { /* x == 0 */ INSERT_WORDS(x,hy&0x80000000U,1); /* return +-minsubnormal */ y = x*x; if(y==x) return y; else return x; /* raise underflow flag */ } if(hx>=0) { /* x > 0 */ if(hx>hy||((hx==hy)&&(lx>ly))) { /* x > y, x -= ulp */ if(lx==0) hx -= 1; lx -= 1; } else { /* x < y, x += ulp */ lx += 1; if(lx==0) hx += 1; } } else { /* x < 0 */ if(hy>=0||hx>hy||((hx==hy)&&(lx>ly))){/* x < y, x -= ulp */ if(lx==0) hx -= 1; lx -= 1; } else { /* x > y, x += ulp */ lx += 1; if(lx==0) hx += 1; } } hy = hx&0x7ff00000; if(hy>=0x7ff00000) return x+x; /* overflow */ if(hy<0x00100000) { /* underflow */ y = x*x; if(y!=x) { /* raise underflow flag */ INSERT_WORDS(y,hx,lx); return y; } } INSERT_WORDS(x,hx,lx); return x; } #endif /* _DOUBLE_IS_32BITS */ |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |