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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: ActiveQt Ошибки Линковки  (Прочитано 13273 раз)
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« : Январь 06, 2014, 18:24 »

Вот моя первая работа с ActiveQt
Код:
#include <QtGui>
#include <ActiveQt\QAxBase.h>
#include <ActiveQt\QAxObject.h>
...
QAxObject *Word = new QAxObject("Word.Application"); // Создаю интерфейс к MSWord
// Ну и так далее...
В pro прописал
Код:
CONFIG = qt release warn_on
CONFIG += qaxcontainer
LIBS += -lqaxserver -luuid
Библиотеки добавлял уже в отчаянии
И простыня ошибок (привожу только начало, т.к. очевидно, что источник - один)
Код:
j:\0903\qt\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x12f): undefined reference to `IID_IClassFactory2'
j:\0903\qt\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x159): undefined reference to `SysAllocStringLen@8'
j:\0903\qt\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x166): undefined reference to `IID_IUnknown'
j:\0903\qt\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x191): undefined reference to `SysFreeString@4'
j:\0903\qt\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0x1ba): undefined reference to `IID_IUnknown'
j:\0903\qt\lib/libQAxContainer.a(qaxbase.o):qaxbase.cpp:(.text+0xb84): undefined reference to `IID_IClassFactory'
Что-то где-то я недоподключаю...Облазил весь гугл и все форумы. Ни у кого моих проблем нет.
Обстановка. Windows XP, Qt 4.5. Работаю без Креатора. Блокнот - qmake -make
Да. Попробовал маленький пример из Бланшет и Саммерфильда - та же куча ошибок

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

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Январь 08, 2014, 16:59 »

ты под MinGW используешь? В нём нужных виндовозных инклюдов нет. Да ещё для ActiveX компилятор его хахаряшек нужен (забыл как зовут)
« Последнее редактирование: Январь 08, 2014, 17:00 от lit-uriy » Записан

Юра.
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #2 : Январь 08, 2014, 18:06 »

ты под MinGW используешь? В нём нужных виндовозных инклюдов нет. Да ещё для ActiveX компилятор его хахаряшек нужен (забыл как зовут)
MinGW, yes!
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #3 : Январь 08, 2014, 18:15 »

Что же делать? Вешаться или топиться? Улыбающийся
На Бюльдере неско лет назад все с песней получилось!
Затея была в том, чтоб клиента в Бюльдера пересадить полностью на Кьют.
Можно, конечно, просто тем же system из Кутешной проги вызывать Бюльдеровскую...
Но все мое программистское нутро восстает...
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #4 : Январь 08, 2014, 18:24 »

Что же делать? Вешаться или топиться? Улыбающийся
На Бюльдере неско лет назад все с песней получилось!
Затея была в том, чтоб клиента в Бюльдера пересадить полностью на Кьют.
Можно, конечно, просто тем же system из Кутешной проги вызывать Бюльдеровскую...
Но все мое программистское нутро восстает...
Вы бы поискали в каких библиотеках находятся эти символы.
Напримеро SysAllocStringLen находится в Oleaut32.lib, вот ее еще нужно подключить в проект.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #5 : Январь 08, 2014, 20:55 »

old, спасибо! Значит потусуюсь еще немного между табуреткой и полыньей Улыбающийся
А где ее искать-то? В инете? В Бюльдере? У папы Виндовоза?
И как подключить в кутешное pro?
Я как-то с подключением библиотек пока не сталкеровался... Хватало того, что есть.
И вообще-то странновато. У Кьюта есть же библиотеки типа libQAxContainer.a и я их подключал...
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #6 : Январь 08, 2014, 21:12 »

Добавьте к этой строке:
LIBS += -lqaxserver -luuid

что бы получилось:
LIBS += -lqaxserver -luuid -loleaut32
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #7 : Январь 08, 2014, 21:31 »

Ооо! Уже значительно веселее стало! Вместо 168 строк ошибок - всего 27!
Т.е. ясно куда и чем копать. Спасибо вам большое! Очень жалко, что на этом форуме нет системы благодарностей. Улыбающийся
К сожалению, на сегодня лопата моя - тупа.
С надеждой на дальнейшее сотрудничество, искренне ваш, Day Улыбающийся
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #8 : Январь 09, 2014, 00:35 »

У MinGW целых 7 библиотек на букву "ole". Завтра займусь.
Записан
carrygun
Гость
« Ответ #9 : Январь 09, 2014, 07:46 »

Нет буквы "ole".
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #10 : Январь 09, 2014, 10:29 »

Код:
LIBS += -lqaxserver
LIBS += -lqaxcontainer -loleaut32 -lole32 -lgdi32 -luuid
Вот так все собралось,
Всем спасибо!
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #11 : Январь 14, 2014, 02:01 »

Day а у тебя не требует IDL-файлов/компилятора?
Записан

Юра.
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #12 : Январь 14, 2014, 11:20 »

Day а у тебя не требует IDL-файлов/компилятора?
Требовал. И вообще вел себя странно. Чего-то регистрировал во время(после) сборки. Два раза сам запускал программу (я его не просил). Пока я не убрал из pro строчки
Код:
 CONFIG += qaxserver
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #13 : Январь 14, 2014, 13:35 »

Day, будь другом выложи простейший компилируемый MinGW-шкой проект который, чего-нибудь делает с Экселем/Вордом.

П.С.
Я в своё время бился бился, так и не понял, как это всё скомпилировать MinGW-шкой, чтобы например в эксель хоть что-нибудь вставить.
Записан

Юра.
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #14 : Январь 14, 2014, 14:56 »

Day, будь другом выложи простейший компилируемый MinGW-шкой проект который, чего-нибудь делает с Экселем/Вордом.
П.С.
Я в своё время бился бился, так и не понял, как это всё скомпилировать MinGW-шкой, чтобы например в эксель хоть что-нибудь вставить.
Вот, пожалуйста, ссылка на Яндекс диск
http://yadi.sk/d/R8lIa0WcG3Jhc
Там есть файлик README.TXT - все описано, и рабочий проект (выжимки)
Но имей в виду, я в этом деле нуб-нубом, и то, что у меня что-то получилось - чистая случайность. Имею в виду ActiveX, так-то в программизме кой-какой опыт есть Улыбающийся
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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