Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > C++ > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.11.2008, 14:29   #1
ASGAlex
 
Аватар для ASGAlex
 
Регистрация: 05.10.2008
Сообщений: 4
Репутация: 10
По умолчанию qt4, win32 и статическая линковка.

В linux всё отлично собирается и работает. Но в windows возникают проблемы.

Имеется: библиотека libHelpDialog.a и соответствующий заголовок HelpDialog.h. Имеется так же приложение, с которым эта библиотек статически линкуется.
При сборке получаем:

Код:

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o "bin\lokus_kontrola.exe" 
build\mainwindowimpl.o build\main.o build\showimage.o build\moc_mainwindowimpl.o build\moc_showimage.o build\moc_HelpDialogs.o build\qrc_resource.o  
-L"c:\Qt\4.3.0\lib" -lmingw32 -lqtmain -lHelpDialogs -lQtGui4 -lQtCore4

mingw32-make[1]: Leaving directory `C:/Documents and Settings/All Users.WINDOWS/Документы/пси-тесты/lokus_kontrola'

build\mainwindowimpl.o(.text+0x1c9):mainwindowimpl.cpp: undefined reference to `AboutDialog::AboutDialog(QString)'

build\mainwindowimpl.o(.text+0x2e99):mainwindowimpl.cpp: undefined reference to `AboutDialog::AboutDialog(QString)'

collect2: ld returned 1 exit status
mingw32-make[1]: *** [bin\lokus_kontrola.exe] Error 1
mingw32-make: *** [release] Error 2

Это при том, что заголовки подключены, библиотека компилятором найдена. Вот фрагменты кода, вызывающие проблему:

HelpDialogs.h:класс, содержащийся в библиотеке.
Код:

class AboutDialog  :public QDialog
{
public:
    QVBoxLayout *verticalLayout;
    QTabWidget *About;
    QWidget *AboutPrg;
    QVBoxLayout *verticalLayout_2;
    QTextEdit *TextAbout;
    QWidget *License;
    QVBoxLayout *verticalLayout_3;
    QTextEdit *TextLicense;
    QPushButton *close;
    AboutDialog(const QString about);
	
};

mainwindowimpl.cpp:конструктор класса, где вызывается конструктор AoutDialog. Если закомментировать эту строчку, то всё скомпилится, следовательно проблема в том, что компилятор не видит реализации AboutDialog.
Код:

MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f) 
	: QMainWindow(parent, f)
{
	setupUi(this);
	
	About_dlg= new AboutDialog(QApplication::translate("","<b>Методика УСК</b><br>Р
азработчик: ASGAlex (asgalex@gmail.com)",0,QApplication::UnicodeUTF8));

Ну и ключевой вопрос: что я делаю не так?))

Последний раз редактировалось rpy3uH; 09.11.2008 в 20:10.
ASGAlex вне форума   Ответить с цитированием
Старый 03.06.2009, 14:30   #2
driims
 
Регистрация: 02.06.2009
Сообщений: 3
Репутация: 10
По умолчанию

Что-то я нигде не заметил ключа: -lHelpDialog
driims вне форума   Ответить с цитированием
Старый 03.06.2009, 15:02   #3
ASGAlex
 
Аватар для ASGAlex
 
Регистрация: 05.10.2008
Сообщений: 4
Репутация: 10
По умолчанию

Проблеме уже лет эдак 200, давно уже разобрался, но спасибо, что хоть сейчас заметили :-D =) :lol:
ASGAlex вне форума   Ответить с цитированием
Старый 09.06.2009, 09:13   #4
driims
 
Регистрация: 02.06.2009
Сообщений: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от ASGAlex Посмотреть сообщение
Проблеме уже лет эдак 200, давно уже разобрался, но спасибо, что хоть сейчас заметили :-D =) :lol:
хе)
Я сам только на днях на этом форуме появился со своей проблемой и что-то не глянул совсем на дату сообщения, рядом с моим ближе кверху болталось, вот собственно и полез
driims вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прием сообщений win32 oto_aki Общие вопросы C/C++ 9 26.02.2008 21:58
Линковка... GHOST_Kasper Работа с сетью в Delphi 13 21.11.2007 17:06


20:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru