crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Чтение данных Excel из QT, Чтение данных Excel из QT
dima154
  опции профиля:
сообщение 24.4.2010, 7:19
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 10.10.2009
Пользователь №: 1148

Спасибо сказали: 0 раз(а)




Репутация:   0  


Хочу читать данный из Excel с помощью Qt.
Прочитал, что для этих целей надо использовать компонент ActiveQt.
Нашел следующий пример:
QAxObject* excel = new QAxObject( "Excel.Application", this );
Копирую эту строку в свой проект, собираю его, при линковке появляется ошибка:
Linking...
dialogimpl.obj : error LNK2019: unresolved external symbol "public: __thiscall QAxObject::QAxObject(class QString const &,class QObject *)" (??0QAxObject@@QAE@ABVQString@@PAVQObject@@@Z) referenced in function "public: __thiscall DialogImpl::DialogImpl(class QWidget *,class QFlags<enum Qt::WindowType>)" (??0DialogImpl@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z)
QAxServerd.lib(qaxserver.obj) : error LNK2019: unresolved external symbol "class QAxFactory * __cdecl qax_instantiate(void)" (?qax_instantiate@@YAPAVQAxFactory@@XZ) referenced in function "class QAxFactory * __cdecl qAxFactory(void)" (?qAxFactory@@YAPAVQAxFactory@@XZ)
bin\ExcelReader.exe : fatal error LNK1120: 2 unresolved externals

Файл проекта:
TEMPLATE = vcapp
QT = gui \
core
CONFIG += qt \
qaxserver \
debug \
warn_on
DESTDIR = bin
OBJECTS_DIR = build
MOC_DIR = build
UI_DIR = build
FORMS = ui/dialog.ui
HEADERS = src/dialogimpl.h
SOURCES = src/dialogimpl.cpp \
src/main.cpp
Библиотеки QAxContainerd.lib, QAxServerd.lib лежат по путям проекта, но почему-то функции, определеные в них не выдны.
Кто чем может помочь по данной проблеме? Заранее спасибо всем ответившим!


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 24.4.2010, 16:31
Сообщение #2





Гости








    


Нда. У меня таже самая проблема с линковкой.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 24.4.2010, 18:13
Сообщение #3


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


Что-то не вижу, что бы ты либы линковал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dima154
  опции профиля:
сообщение 25.4.2010, 13:59
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 10.10.2009
Пользователь №: 1148

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(panter_dsd @ 24.4.2010, 19:13) *
Что-то не вижу, что бы ты либы линковал.

А когда генериться проект для VisualStudio c помощью qmake, то библиотеки подключаются к проекту автоматически, при создании файла *.vcproj.
Получается, что библиотеки к проекту подключены, но ошибка сборки все равно происходит.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 25.4.2010, 14:14
Сообщение #5


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

Спасибо сказали: 32 раз(а)




Репутация:   3  


Не подключаются. Допустим, для QtSQl нужно в про файле написать QT = gui core sql. Для ActiveQt тоже что-то добавить нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Wlad
  опции профиля:
сообщение 26.4.2010, 9:53
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 9.12.2008
Пользователь №: 450

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(panter_dsd @ 25.4.2010, 15:14) *
Не подключаются. Допустим, для QtSQl нужно в про файле написать QT = gui core sql. Для ActiveQt тоже что-то добавить нужно.

Правильно! Для использования ActiveQt в проектный файл нужно добавить:

CONFIG += qaxcontainer
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 26.4.2010, 20:11
Сообщение #7





Гости








    


Если интересно, то я могу сказать как эта проблема решилась у меня. В конструкции
QAXFACTORY_BEGIN(
...
...
)
QAXCLASS(XXX)
QAXFACTORY_END()
у меня была пустая строка между QAXCLASS и QAXFACTORY_END(). После того, как я убрал эту пустую строку, проблема с линковкой (unresolved external symbol "class QAxFactory * __cdecl qax_instantiate) исчезла.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2017, 14:24