Просмотр сообщений
Страниц: [1]
1  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 12, 2007, 11:48:29 am
To qnxloder
Удалил /root/workspace/.metadata. После чего даже проєкт не создаётся... а раньше создавалса...хоть ни так обидно было..

To lastcross
qnxloder
Я же уже говорил что не в коде дело.... шаблоны у меня описаны в одном СPP файле...так что не в єтом проблема..

Кстати вот ошибки которые возникают при компиляции проэкта аля "Hello world!...."

Severity   Description   Resource   In Folder   Location   Creation Time
2   *** [E:/QNX630/workspace/test/arm/o-be/test] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/arm/o-be-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/arm/o-le/hjj] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/arm/o-le-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/mips/o-be/test] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/mips/o-be-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/mips/o-le/test] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/mips/o-le-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/ppc/o-be/test] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/ppc/o-be-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/sh/o-le/test] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/sh/o-le-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/x86/o/test] Error 1   test         11 Июль 2007 г. 23:14:17
2   *** [E:/QNX630/workspace/test/x86/o-g/test_g] Error 1   test         11 Июль 2007 г. 23:14:17
2   /cygdrive/e/QNX630/host/win32/x86/usr/bin/arm-unknown-nto-qnx6.3.0-ld cannot find -lcpp   test      line 0   11 Июль 2007 г. 23:14:17
2   /cygdrive/e/QNX630/host/win32/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld cannot find -lcpp   test      line 0   11 Июль 2007 г. 23:14:17
2   /cygdrive/e/QNX630/host/win32/x86/usr/bin/mips-unknown-nto-qnx6.3.0-ld cannot find -lcpp   test      line 0   11 Июль 2007 г. 23:14:17
2   /cygdrive/e/QNX630/host/win32/x86/usr/bin/powerpc-unknown-nto-qnx6.3.0-ld cannot find -lcpp   test      line 0   11 Июль 2007 г. 23:14:17
2   /cygdrive/e/QNX630/host/win32/x86/usr/bin/sh-unknown-nto-qnx6.3.0-ld cannot find -lcpp   test      line 0   11 Июль 2007 г. 23:14:17
2  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 12, 2007, 01:28:36 am
Удивительно но Momentics даже не компилит стандартные проекты(при создании проэкта не добавляю ниодной строки), уважаемые господа, никто не знает как можно решить эту проблему? Это произошло как-то само собой.... писал код... а потом началось! Это какая-то подстава!
3  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 10, 2007, 05:12:37 pm
Огромное спасибо за помощь!
Изменил версию компилятора в файле вручную первым методом пока не пользовался... нужно разбираться...
А пока всё компилит....
С материалом который вы подкинули буду разбираться только позже сейчас проэкт переделать нужно..
4  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 10, 2007, 02:54:53 pm
Да,действительно версия 2.95.3... Значит ошибка из-за не той версии компилятора...
А вы не знаете как можно пропатчить мою версию компилятора чтобы не выдавало ошибку?
5  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 10, 2007, 02:57:15 am
- это полный пример?


Самое интересное что даже такой код:
//********************************************
Template<class T>void funtest()
{
   T Ttype;
}
int main(int argc, char *argv[])
{
  funtest<int>();
  return EXIT_SUCCESS;
}
//********************************************
выдаёт ошибку:"INSTANTIETED FROM HERE"
6  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 10, 2007, 02:45:01 am
To Olej:
1.QNX® Momentics® Integrated Development Environment
Version: 3.0.0
Build id: 200509222156

2.а это что за типы?: value_cycles? value_static?

#ifndef _DEFTEST_H_
#define _DEFTEST_H_

#include <stdlib.h>
#include <stdio.h>
#include <sys/neutrino.h>
#include <inttypes.h>
#include <math.h>
#include <sys/syspage.h>
#include <inttypes.h>
#include <sys/procfs.h>
#include <fcntl.h>
#include <sys/times.h>
#include <sys/siginfo.h>
#include <signal.h>
#include <time.h>
#include <sys/netmgr.h>
#include <math.h>

typedef unsigned int uint_t;

 typedef struct value_cycles_t
{
   double    num_cycles;
   double    cycles_per_sec;
   
   double   num_cycles_add;
   double   num_cycles_sub;
   double   num_cycles_ mul;
   double   num_cycles_div;   
   
   double   num_cycles_64add;
   double   num_cycles_64sub;
    double   num_cycles_64mul;
   double   num_cycles_64div;   
   
   double   num_cycles_32add;
   doubl e   num_cycles_32sub;
   double   num_cycles_32mul;
   double   num_cycles_32div;
   
   double   num_ cycles_16add;
   double   num_cycles_16sub;
   double   num_cycles_16mul;
   double   num_cycles_16 div;
   
   double   num_cycles_8add;
   double   num_cycles_8sub;
   double   num_cycles_8mul;
   do uble   num_cycles_8div;
}  value_cycles;
typedef struct value_static_t
{
   double   num_sec_add;
   double   num_sec_sub;
   double   num_sec_mul;
   doub le   num_sec_div;
   double   num_sec_64add;
   double   num_sec_64sub;
   double   num_sec_64mul;
    double   num_sec_64div;
   double   num_sec_32add;
   double   num_sec_32sub;
   double   num_sec_32m ul;
   double   num_sec_32div;      
   double   num_sec_16add;
   double   num_sec_16sub;
   double   num _sec_16mul;
   double   num_sec_16div;   
   double   num_sec_8add;
   double   num_sec_8sub;
   doubl e   num_sec_8mul;
   double   num_sec_8div;   
   
   double   num_oper_add;
   double   num_oper_sub;
    double   num_oper_mul;
   double   num_oper_div;   
   double   num_oper_64add;
   double   num_oper_6 4sub;
   double   num_oper_64mul;
   double   num_oper_64div;   
   double   num_oper_32add;
   double    num_oper_32sub;
   double   num_oper_32mul;
   double   num_oper_32div;   
   double   num_oper_16ad d;
   double   num_oper_16sub;
   double   num_oper_16mul;
   double   num_oper_16div;   
   double   nu m_oper_8add;
   double   num_oper_8sub;
   double   num_oper_8mul;
   double   num_oper_8div;   
   
    double  num_cycloper_add;
   double num_cycloper_sub;
   double num_cycloper_mul;
   double num_cycloper_div;   
   double num_cycloper_64add;
   double num_cycloper_64sub;
   double num_cycloper_64mul;
   double num_cycloper_64div;   
   double num_cycloper_32add;
   double num_cycloper_32sub;
   double num_cycloper_32mul;
   double num_cycloper_32div;   
   double num_cycloper_16add;
   double num_cycloper_16sub;
   double num_cycloper_16mul;
   double num_cycloper_16div;   
   double num_cycloper_8add;
   double num_cycloper_8sub;
   double num_cycloper_8mul;
   double num_cycloper_8div;
   
   double num_sec_80mem1;
   double num_speed_80mem1;
   double num_sec_80mem2;
   double num_speed_80mem2;
   double num_sec_80mem3;
   double num_speed_80mem3;
   double num_sec_80mem4;
   double num_speed_80mem4;
   double num_sec_64mem1;
   double num_speed_64mem1;
   double num_sec_64mem2;
   double num_speed_64mem2;
   double num_sec_64mem3;
   double num_speed_64mem3;
   double num_sec_64mem4;
   double num_speed_64mem4;
   double num_sec_32mem1;
   double num_speed_32mem1;
   double num_sec_32mem2;
   double num_speed_32mem2;
   double num_sec_32mem3;
   double num_speed_32mem3;
   double num_sec_32mem4;
   double num_speed_32mem4;
   double num_sec_16mem1;
   double num_speed_16mem1;
   double num_sec_16mem2;
   double num_speed_16mem2;
   double num_sec_16mem3;
   double num_speed_16mem3;
   double num_sec_16mem4;
   double num_speed_16mem4;
   double num_sec_8mem1;
   double num_speed_8mem1;
   double num_sec_8mem2;
   double num_speed_8mem2;
   double num_sec_8mem3;
   double num_speed_8mem3;
   double num_sec_8mem4;
   double num_speed_8mem4;
   double num_sec_96cash;
   double num_speed_96cash;
   double num_sec_64cash;
   double num_speed_64cash;
   double num_sec_32cash;
   double num_speed_32cash;
   double num_sec_16cash;
   double num_speed_16cash;
   double num_sec_8cash;
   double num_speed_8cash;
   
} value_static;
#define      SUCCESS      1
#define      NOSUCCESS   0
#define     SIZE_MEM    2000000
template<class T>void cashtest_shabl(value_cycles *pstrt, value_static *staticstrt, uint_t numcycls);
#endif //_DEFTEST_H_
7  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 10, 2007, 12:21:13 am
Тоесть ошибка "instantiated from here" указывает на строку вызова шаблонной функции:
cashtest_shabl<long double>(pstrt,staticstrt,numcycls).
Как я догадываюсь, конечно это может быть не так, вызывать такую ф-ю нужно как-то по другому потому что при написании других шаблонных функций проблема та же. А вот как мне не известно... и help-a к сожалению молчит
8  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 10, 2007, 12:12:55 am
Суть в том что это и есть полный код ошибки
Мне нет смысла давать вам не полную информацию о проблеме!
9  Разработка / Языки и алгоритмы / Проблемы с шаблоном. : Июля 09, 2007, 08:25:59 pm
Уважаемые посетители форума,ситуация такая:
-Есть шаблон:
//----------------------------------------------
template<class T>
void cashtest_shabl(value_cycles *pstrt, value_static *staticstrt, uint_t numcycls)
{
   double cycle1;
   double cycle2;
   uint_t elemsize = sizeof(T) * SIZE_MEM;
   
   T y = (T)0;
   T x = (T)1;
   
   printf( "Long double size is: %d bits.
", sizeof(T) * 8 );
         
   /* snap the time */
    cycle1 = ClockCycles(); //стартуем
   for( uint_t i = 0; i < SIZE_MEM; i++ )
   {
      x = y;
   }
   /* snap the time again */
    cycle2 = ClockCycles(); //засекаем   
    double num_cycles_mem = cycle2 - cycle1;
   staticstrt->num_sec_96cash = (double)num_cycles_mem / pstrt->cycles_per_sec;
   staticstrt->num_speed_96cash = elemsize * pstrt->cycles_per_sec / num_cycles_mem / 1024;     
   printf( " Speed is = %0.3f Kb/sec
", staticstrt->num_speed_96cash );*/
      
};
//*******************************************************
-При вызове его из тела main
//*******************************************************
cashtest_shabl<long double>(pstrt,staticstrt,numcycls)
//*******************************************************
именно в єтом месте,при компиляции, выдаёт ошибку: INSTANTIETED FROM HERE
Что самое интересное когда тело ф-и пустое то компилит без ошибки, а когда там есть хотя-бы одна строка кода ошибка появляется...

-И еще одна ошибка появляется, которую сложно характеризировать.... В месте
        cycle1 = ClockCycles(); //стартуем
   for( uint_t i = 0; i < SIZE_MEM; i++ )
   {
      x = y;
   }
Появляесться тоже ошибка `volatile' undeclared(first use this function)...
Никто не знает как это исправить?
P.S. Писалось все под
QNX® Momentics® Integrated Development Environment

Version: 3.0.0
Build id: 200509222156
Установленой в Windows XP
Под QNX-ом ошибки теже...
Страниц: [1]