Здравствуйте, уважаемые форумчане.
Сразу прошу прощения, если вопрос нубский. Поиск по "ссылка на неразрешенный внешний символ" выводил на несовсем внятные ответы, поэтому крайне нуждаюсь в том, чтобы меня ткнули носом, в чем я не прав.
Пишу простенький проект по записи звука с звуковой карты. На форме кнопка, в обработчике clicked() кнопки следующий код, который подсмотрен на doc.qt.nokia.com/4.6/qaudioinput.html
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QtMultimedia\qaudioinput.h"
#include "qiodevice.h"
#include "QFile"
#include "QtMultimedia\qaudioformat.h"
//...
void MainWindow::on_pushButton_2_clicked()
{
QFile outputFile; // class member.
QAudioInput* audio; // class member.
outputFile.setFileName("C:\temp\test.raw");
outputFile.open( QIODevice::WriteOnly | QIODevice::Truncate );
QAudioFormat format; // <= и вот тут мы затыкаемся.
// .. далее идут настройки format, которые вобщем то не имеют значения, т.к. у нас затруднение с самим QAudioFormat
}
При компиляции вываливаемся с ошибками:
Выполняется сборка проекта untitled...
Настройки не изменились, этап qmake пропускается.
Запускается: «D:\QtSDK\QtCreator\bin\jom.exe»
D:\QtSDK\QtCreator\bin\jom.exe -nologo -j 2 -f Makefile.Debug
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"d:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtCore" -I"d:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtGui" -I"d:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include" -I"d:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\ActiveQt" -I"debug" -I"." -I"..\untitled" -I"." -I"d:\QtSDK\Desktop\Qt\4.7.4\msvc2008\mkspecs\win32-msvc2008" -Fodebug\ @C:\temp\mainwindow.obj.3764.0.jom
mainwindow.cpp
..\untitled\mainwindow.cpp(25) : warning C4101: audio: неиспользованная локальная переменная
link /LIBPATH:"d:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib" /NOLOGO /DEBUG /MANIFEST /MANIFESTFILE:"debug\untitled.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:debug\untitled.exe @C:\temp\untitled.exe.3764.1438.jom
mainwindow.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: __thiscall QAudioFormat::~QAudioFormat(void)" (__imp_??1QAudioFormat@@QAE@XZ) в функции "private: void __thiscall MainWindow::on_pushButton_2_clicked(void)" (?on_pushButton_2_clicked@MainWindow@@AAEXXZ)
mainwindow.obj : error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: __thiscall QAudioFormat::QAudioFormat(void)" (__imp_??0QAudioFormat@@QAE@XZ) в функции "private: void __thiscall MainWindow::on_pushButton_2_clicked(void)" (?on_pushButton_2_clicked@MainWindow@@AAEXXZ)
debug\untitled.exe : fatal error LNK1120: 2 неразрешенных внешних элементов
jom 1.0.6 - empower your cores
command failed with exit code 1120
command failed with exit code 2
Процесс «D:\QtSDK\QtCreator\bin\jom.exe» завершился с кодом 2.
Возникла ошибка при сборке проекта untitled (цель: Desktop)
Во время выполнения сборки на этапе «Сборка»
Вобщем не хочет он создавать QAudioFormat и никаких идей, в какую сторону с этим бороться я не могу придумать.
Буду признателен за любую помощь или подсказки.