Russian Qt Forum
Ноябрь 24, 2024, 12:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt создание *.lib библиотеки  (Прочитано 4276 раз)
dim_serg
Гость
« : Май 20, 2010, 21:01 »

Собрал Qt из исходников nmake.Пытаюсь создать статическую библиотеку (*.lib)

-------------- *.h
#ifndef MYLIB_H
#define MYLIB_H


extern "C"
{
  extern int Mylib(void);
}

#endif // MYLIB_H
------------------*.cpp
#include "mylib.h"
extern int Mylib()
{
  return 6;
}
всё нормально работает, но если в *.cpp добавить

#include "mylib.h"
#include <QtGui/QMessageBox>
extern int Mylib()
{
    QMessageBox::information(0,"asdsad","asdsad",0,0);
  return 6;
}
VC60-выдаёт ошибки

ylib.lib(mylib.obj) : error LNK2001: unresolved external symbol "private: static struct QString::Data * __cdecl QString::fromAscii_helper(char const *,int)" (?fromAscii_helper@QString@@CAPAUData@1@PBDH@Z)
Mylib.lib(mylib.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl QString::free(struct QString::Data *)" (?free@QString@@CAXPAUData@1@@Z)
Mylib.lib(mylib.obj) : error LNK2001: unresolved external symbol "public: static int __cdecl QMessageBox::information(class QWidget *,class QString const &,class QString const &,int,int,int)" (?information@QMessageBox@@SAHPAVQWidget@@ABVQString@@1HH
H@Z)

Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Май 21, 2010, 04:48 »

а зачем в cpp, extern приписываешь?
Записан

Юра.
dim_serg
Гость
« Ответ #2 : Май 21, 2010, 20:33 »

Да извеняйте, но это дело не меняет возникают те же самые ошибки.Мне кажется, что библиотека не правильно собираться размер маленький (13кб) хотя простой *.exe 2-4 мб.QtGui функции не включает.
Записан
dim_serg
Гость
« Ответ #3 : Май 22, 2010, 15:46 »

Второй день мучаюсь никак не могу QMessageBox в *.lib засунуть.
Мои Действия
1.Создал Qt Статически (nmake) подключил интегратор VS2005.
2.Собрал *.lib все нормально VS2005+QT.
3.Но когда пытаюсь подключить к проекту созданному на VSC++ ругается на определения QMessageBox.

Чё за фигня библиотека статическая
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.05 секунд. Запросов: 23.