sharedlib, при вызове члена класса вылетает undefined reference
От: Serhiy.Malokhatko  
Дата: 03.10.12 10:10
Оценка:
Добрый день,
посмотрите свежим взглядом, я кажется уже все проверил и перепроверил, и все равно вылетает ошибка.

Создал sharedlib, и пытаюсь ее использовать, но при вызове члена класса вылетает ошибка undefined reference
проект библиотеки
CONFIG(debug, debug|release): TARGET = libvframe
CONFIG(release, debug|release): TARGET = libvframe

QT += core gui

TEMPLATE = lib

DEFINES += VFRAME30LIB_LIBRARY

# DESTDIR
unix {
    CONFIG(debug, debug|release): DESTDIR = ../bin_unix/x86/debug
    CONFIG(release, debug|release): DESTDIR = ../bin_unix/x86/release
}

SOURCES += vframe30lib.cpp \
    videoframe.cpp

HEADERS += vframe30lib.h\
    VFrame30Lib_global.h \
    videoframe.h


Код тривиальный
// header
#ifndef VFRAME30LIB_H
#define VFRAME30LIB_H

#include "VFrame30Lib_global.h"

class VFRAME30LIBSHARED_EXPORT VFrame30Lib {
public:
    VFrame30Lib();
    void SecondTest();
};

#endif // VFRAME30LIB_H

// Source
#include "vframe30lib.h"
#include <QDebug>

VFrame30Lib::VFrame30Lib()
{
}

void SecondTest()
{
    qDebug() << "Hello World from Lib!!!";
}

Библиотека компилится все складывается куда надо, если нет файла либы, то просект куда она подключается об этом говорит, дефайн VFRAME30LIBSHARED_EXPORT в либе определен.

подключение библиотеки
#VFrame30Lib
unix {
    CONFIG(debug, debug|release): LIBS += -L../bin_unix/x86/debug -llibvframe
    CONFIG(release, debug|release): LIBS += -L../bin_unix/x86/release -lvframe
}
DEPENDPATH += ../VFrame30Lib
INCLUDEPATH += ../VFrame30Lib


использование в коде
#include "vframe30lib.h"
...
    VFrame30Lib l;
    l.SecondTest();             ЗДЕСЬ вылетает ошибка error: undefined reference to `VFrame30Lib::SecondTest()'


Спасибо
Re: sharedlib, при вызове члена класса вылетает undefined reference
От: Аноним  
Дата: 03.10.12 11:12
Оценка: 2 (1)
Здравствуйте, Serhiy.Malokhatko, Вы писали:

SM>Код тривиальный

SM>
SM>// header
SM>#ifndef VFRAME30LIB_H
SM>#define VFRAME30LIB_H

SM>#include "VFrame30Lib_global.h"

SM>class VFRAME30LIBSHARED_EXPORT VFrame30Lib {
SM>public:
SM>    VFrame30Lib();
SM>    void SecondTest();
SM>};

SM>#endif // VFRAME30LIB_H

SM>// Source
SM>#include "vframe30lib.h"
SM>#include <QDebug>

SM>VFrame30Lib::VFrame30Lib()
SM>{
SM>}

SM>void SecondTest()
SM>{
SM>    qDebug() << "Hello World from Lib!!!";
SM>}
SM>


void VFrame30Lib::SecondTest() ?
Re[2]: sharedlib, при вызове члена класса вылетает undefined reference
От: Serhiy.Malokhatko  
Дата: 03.10.12 12:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>void VFrame30Lib::SecondTest() ?


Жесть, пора на пенсию, пол дня убил, самое главное что был еще один тест, и я его с нуля написал так же.
Спасибо!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.