#------------------------------------------------- # # Project created by QtCreator 2019-11-14T10:38:31 # #------------------------------------------------- QT += core gui charts greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = AudioDecode TEMPLATE = app # The following define makes your compiler emit warnings if you use # any feature of Qt which has been marked as deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target CONFIG += c++11 UI_DIR = obj/Gui MOC_DIR = obj/Moc OBJECTS_DIR = obj/Obj #将输出文件直接放到源码目录下的bin目录下,将dll都放在了次目录中,用以解决运行后找不到dll的问 #DESTDIR=$$PWD/bin/ contains(QT_ARCH, i386) { message("32-bit") DESTDIR = $${PWD}/bin/bin32 } else { message("64-bit") DESTDIR = $${PWD}/bin/bin64 } SOURCES += \ src/AppConfig.cpp \ src/AudioDecoder/AudioDecoder.cpp \ src/AudioFrame/AACFrame.cpp \ src/AudioFrame/PCMFrame.cpp \ src/AudioPlayer/AudioPlayer.cpp \ src/AudioPlayer/AudioPlayer_RtAudio.cpp \ src/AudioPlayer/AudioPlayer_SDL.cpp \ src/AudioReader/AAC/AACReader.cpp \ src/AudioReader/ReadAudioFileThread.cpp \ src/Base/FunctionTransfer.cpp \ src/EventHandle/AudioPlayerEventHandle.cpp \ src/Mutex/Cond.cpp \ src/Mutex/Mutex.cpp \ src/main.cpp \ src/MainWindow.cpp HEADERS += \ src/AppConfig.h \ src/AudioDecoder/AudioDecoder.h \ src/AudioFrame/AACFrame.h \ src/AudioFrame/PCMFrame.h \ src/AudioPlayer/AudioPlayer.h \ src/AudioPlayer/AudioPlayer_RtAudio.h \ src/AudioPlayer/AudioPlayer_SDL.h \ src/AudioReader/AAC/AACReader.h \ src/AudioReader/ReadAudioFileThread.h \ src/Base/FunctionTransfer.h \ src/EventHandle/AudioPlayerEventHandle.h \ src/MainWindow.h \ src/Mutex/Cond.h \ src/Mutex/Mutex.h FORMS += \ src/MainWindow.ui include($$PWD/lib/RtAudio/RtAudio.pri) win32{ QMAKE_CFLAGS_DEBUG += -MT QMAKE_CXXFLAGS_DEBUG += -MT QMAKE_CFLAGS_RELEASE += -MT QMAKE_CXXFLAGS_RELEASE += -MT DEFINES += NDEBUG WIN32 _CONSOLE __WINDOWS_ASIO__ __WINDOWS_DS__ __WINDOWS_WASAPI__ contains(QT_ARCH, i386) { message("32-bit") INCLUDEPATH += $$PWD/lib/win32/ffmpeg/include \ $$PWD/lib/win32/SDL2/include \ $$PWD/src LIBS += -L$$PWD/lib/win32/ffmpeg/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale LIBS += -L$$PWD/lib/win32/SDL2/lib -lSDL2 } else { message("64-bit") INCLUDEPATH += $$PWD/lib/win64/ffmpeg/include \ $$PWD/lib/win64/SDL2/include \ $$PWD/src LIBS += -L$$PWD/lib/win64/ffmpeg/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale LIBS += -L$$PWD/lib/win64/SDL2/lib -lSDL2 } } unix{ contains(QT_ARCH, i386) { message("32-bit, 请自行编译32位库!") } else { message("64-bit") INCLUDEPATH += $$PWD/lib/linux/ffmpeg/include \ $$PWD/lib/linux/sdl2/include \ $$PWD/src LIBS += -L$$PWD/lib/linux/ffmpeg/lib -lavformat -lavcodec -lavdevice -lavfilter -lavutil -lswresample -lswscale LIBS += -lpthread -ldl } #QMAKE_POST_LINK 表示编译后执行内容 #QMAKE_PRE_LINK 表示编译前执行内容 #解压库文件 #QMAKE_PRE_LINK += "cd $$PWD/lib/linux && tar xvzf ffmpeg.tar.gz " system("cd $$PWD/lib/linux && tar xvzf ffmpeg.tar.gz") }