我需要在QtCreator中使用端口音频。但是我无法使链接正常工作。
我有一个非常简单的主体:
#include "portaudio.h"
#include <iostream>
int main(int, char *[])
{
std::cout << Pa_GetErrorText(0) << std::endl;
return 0;
}
Il将此片段放在带有portaudio.lib的文件夹中。
在Visual Studio 2012中,它可以很好地进行编译和执行(在添加包含路径和库之后)。
在QtCreator中,我尝试添加到.pro:
LIBS += -L$$PWD -lportaudio
要么:
LIBS += $$PWD/portaudio.lib
所以,我是一个迷失的人。我对Windows构建环境不是很熟悉。
我添加了编译输出。
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:debug\test_portaudio.exe.embed.manifest /OUT:debug\test_portaudio.exe
@C:\Users\victor\AppData\Local\Temp\test_portaudio.exe.7044.16.jom
main.obj : error LNK2019: external symbol Pa_GetErrorText referenced in function main
debug\test_portaudio.exe : fatal error LNK1120: 1 externes non résolus
jom: C:\Users\victor\Documents\build-test_portaudio-Desktop_Qt_5_2_0_MSVC2012_64bit-Debug\Makefile.Debug [debug\test_portaudio.exe] Error 1120
jom: C:\Users\victor\Documents\build-test_portaudio-Desktop_Qt_5_2_0_MSVC2012_64bit-Debug\Makefile [debug] Error 2
09:05:25: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project test_portaudio (kit: Desktop Qt 5.2.0 MSVC2012 64bit)
When executing step 'Make'
谢谢你的帮助,
甚高频
编辑:
这是.pro文件:
QT += core
QT -= gui
TARGET = test_portaudio
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
INCLUDEPATH += $$PWD/../portaudio/include
LIBS += -L$$PWD -lportaudio
SOURCES += main.cpp
list 文件:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*' />
</dependentAssembly>
</dependency>
</assembly>
我正在使用qtCreator 3.0和Visual Studio 2012开发qt 5.2.0。
最佳答案
您的链接器命令似乎尚未实现更改:
如您所见,其中没有对portaudio库的引用。因此,得到一个 undefined reference 就不足为奇了。
您可能忘记了显式使用execute qmake选项来重新运行qmake。一旦完成,它将起作用。
在不提供更多上下文的情况下很难告诉更多信息,但是您也可以使用qmake
从命令行再次检查此操作。它在这里工作。
关于c++ - Windows上QtCreator中的链接问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20812862/