Qt 中跨平台(win/linux)编译

做个小笔记,记录一下Qt中 windows 的 32位与 64位 以及 linux 平台下通用的 pro 文件书写方式。

文件中设计的bin、include、lib、src 目录请看

VS2015 项目配置
https://www.jianshu.com/p/62253800fd68

以下是 pro 文件:

TEMPLATE = app
CONFIG += console c++11
SOURCES += main.cpp

INCLUDEPATH += $$PWD/../../include

win32{
    #区分32位和64位windows程序
    opt = $$find(QMAKESPEC,"msvc2015_64")
    isEmpty(opt){
        message("win32 lib")
        LIBS += -L$$PWD/../../lib/win32
    }

    !isEmpty(opt){
        message("win64 lib")
        LIBS += -L$$PWD/../../lib/win64
    }
}
#linux
linux{
    message("linux")
    LIBS += -L$$PWD/../../lib -lxxxxx
}
#message($$QMAKESPEC)、

代码中跨平台调用

#include 
using namespace std;
//要引用c语言函数
extern "C"{
    #include 
}
//预处理指令导入库
#pragma comment(lib,"avcodec.lib")
int main(int argc,char *argv[])
{
    //显示ffmpeg的编译配置
    cout << "Test FFmpeg.club" << endl;
#ifdef _WIN32 //32位和64位 win
    #ifdef _WIN64 //64位 win
        cout << "Windows X64" << endl;
    #else
        cout << "Windows X86" << endl;
    #endif
#else
    cout << "Linux" << endl;
#endif
    cout << avcodec_configuration() << endl;
    getchar();
    return 0;
}

你可能感兴趣的:(Qt 中跨平台(win/linux)编译)