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()'


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