Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Чтение данных Excel из QT
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
dima154
Хочу читать данный из 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 лежат по путям проекта, но почему-то функции, определеные в них не выдны.
Кто чем может помочь по данной проблеме? Заранее спасибо всем ответившим!


Гость
Нда. У меня таже самая проблема с линковкой.
panter_dsd
Что-то не вижу, что бы ты либы линковал.
dima154
Цитата(panter_dsd @ 24.4.2010, 19:13) *
Что-то не вижу, что бы ты либы линковал.

А когда генериться проект для VisualStudio c помощью qmake, то библиотеки подключаются к проекту автоматически, при создании файла *.vcproj.
Получается, что библиотеки к проекту подключены, но ошибка сборки все равно происходит.
panter_dsd
Не подключаются. Допустим, для QtSQl нужно в про файле написать QT = gui core sql. Для ActiveQt тоже что-то добавить нужно.
Wlad
Цитата(panter_dsd @ 25.4.2010, 15:14) *
Не подключаются. Допустим, для QtSQl нужно в про файле написать QT = gui core sql. Для ActiveQt тоже что-то добавить нужно.

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

CONFIG += qaxcontainer
Гость
Если интересно, то я могу сказать как эта проблема решилась у меня. В конструкции
QAXFACTORY_BEGIN(
...
...
)
QAXCLASS(XXX)
QAXFACTORY_END()
у меня была пустая строка между QAXCLASS и QAXFACTORY_END(). После того, как я убрал эту пустую строку, проблема с линковкой (unresolved external symbol "class QAxFactory * __cdecl qax_instantiate) исчезла.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.