2013-03-26 2 views
0

Я попытался запустить мой C++ программу с помощью г ++, но я получаю следующее исключение: «TypeInfo для OCL :: CRException» Я использую OCL пространство имен, содержащее класс CRException .. Пожалуйста, помогите мне в этом ,TypeInfo для OCL :: CRException

Вот код, где я в том числе классы OCL:

#ifndef VOIDSOFT_ADA2_LIND_HH 

#define VOIDSOFT_ADA2_LIND_HH 
#include <string> 
#include <list> 
#include <queue> 
#include <map> 
#include <ocl.h> 
#include "threaded.hh" 

using namespace std; 
using namespace ocl; 

class circuit; 

class Lind: public Threaded 
{ 
public: 
    typedef int lookup_t; 

private: 
    OraConnection connection; 
    pthread_mutex_t *done_m; 
    queue<pthread_t> *q; 
    lookup_t type; 

public: 
    circuit *c; 
    Lind(); 
    ~Lind(); 

    void *run();  

    map<string, pair<string, string> > *getnodes(string); 

    bool connect(); 
    void disconnect(); 

private: 
    circuit *getcircuitinfo(string, circuit *c = 0);    
    void bindInStr(OraQuery &q, string arg, string bindvar, map<string, string> *properties); 

    map<string, pair<string, string> > *node2name(string); 
}; 

/* Lookup types */ 
namespace LindLookupTypes { 
    /* Get overlying */ 
    const int OL = 0x001; 
    /* Get underlying */ 
    const int UL = 0x002; 
} 
#endif /* VOIDSOFT_ADA2_LIND_HH */ 

ответ

0

Это обычно означает, что вы забыли определить (реализовать) виртуальный метод где-то. Убедитесь, что все виртуальные методы ocl::CRException определены и что объектный файл, где они определены, фактически связан с вашим кодом.

Если это не поможет, отредактируйте ответ и покажите нам код для CRException.

+0

Возможно ли это из-за проблемы с версией? Я написал код в GCC 2.3 и скомпилировал его в GCC 3.4. Я удалил много ошибок. теперь программа компилируется правильно, но получает 'ocl :: CRException' .. мне нужно что-то изменить из-за изменения версии? – viswa

+0

@viswa: Трудно догадаться, но это, безусловно, возможно. Если вы можете опубликовать некоторый код, желательно [SSCCE] (http://sscce.org/), мы можем вам помочь. Просто отредактируйте ответ и * впоследствии *, ответьте на этот комментарий, чтобы я получил уведомление о том, что есть какой-то код для просмотра. –

+0

Я добавил код, в котором я включаю пространство имен ocl. Этот код был сначала скомпилирован в gcc 2.x, и теперь я компилирую то же самое в 4.6. Он показал много ошибок времени компиляции. Я исправил все это небольшими изменениями, и теперь его показ «неопределенного символа: _ZTIN3ocl11CRExceptionE», который был ocl :: CRExpection – viswa

Смежные вопросы