windows系统编译的Qt程序转到国产化麒麟linux中编译
<h2 data-first-child="">团队自研股票软件,关威信共总号:QStockView,下载</h2><h2>1.1 windows系统编译的Qt程序转到国产化麒麟linux中编译</h2>
<p>(1)把Vs工程项目文件导入到Linux中</p>
<p>首先把vs的工程拷贝到linux里面(可以用虚拟机的共享文件夹功能),把工程里面的目录Debug、GeneratedFiles、Release、Win32、x64和文件…user、…sln、…vcxproj、…filters删掉。这里根据vs版本的不同删除的文件和目录也可能不同。只要保留.h、.cpp、.qrc(没有这个文件编译出来的Qt项目会显示不了图片)、.ui文件和Resources目录就可以了;</p>
<p>(5)生成pro文件</p>
<p>执行如下命令,会生成XXX.pro项目文件</p>
<p>qmake -project QT+=widgets</p>
<p> </p>
<p><img src="https://img2023.cnblogs.com/blog/1076976/202306/1076976-20230603114137799-1073064552.png"></p>
<p>(6)生成makefile文件</p>
<p>执行命令qmake命令,或者用QtCreator打开项目文件.pro文件,然后执行构建—执行qmake,会生成makefile文件;</p>
<p><img src="https://img2023.cnblogs.com/blog/1076976/202306/1076976-20230603114147416-1751925535.png"></p>
<p>(7)修改pro文件,增加依赖库,头文件包含目录,编译命令;</p>
<p>######################################################################</p>
<p># Automatically generated by qmake (3.1) Fri Apr 14 16:27:32 2023</p>
<p>######################################################################</p>
<p>#增加qt依赖</p>
<p>QT+=widgets gui</p>
<p>QT+=sql</p>
<p>QT+=core</p>
<p>QT+=printsupport</p>
<p>#设置编译类型</p>
<p>TEMPLATE = app</p>
<p>#输出目标,名称;</p>
<p>TARGET = AnalysisCenter</p>
<p>#设置中间生成文件的路径</p>
<p>MOC_DIR=$$PWD/temp/moc</p>
<p>RCC_DIR=$$PWD/temp/rcc</p>
<p>UI_DIR=$$PWD/temp/ui</p>
<p>OBJECTS_DIR=$$PWD/temp/obj</p>
<p>#设置程序输出路径,$$PWD为pro文件所在路径</p>
<p>DESTDIR=$$PWD/linuxx64</p>
<p>#设置包含文件路径</p>
<p>INCLUDEPATH += $$PWD/include/</p>
<p>INCLUDEPATH += $$PWD/include/HUIControl/</p>
<p>INCLUDEPATH += $$PWD/include/HUIControl/GeneratedFiles/</p>
<p>INCLUDEPATH += $$PWD/include/hpr/</p>
<p>INCLUDEPATH += $$PWD/include/videoplay/</p>
<p>INCLUDEPATH += $$PWD/include/hlog/</p>
<p>INCLUDEPATH += $$PWD/include/curl/</p>
<p>#设置文件编码格式,不然会出现中文乱码</p>
<p>QMAKE_CXXFLAGS +=-finput-charset=UTF-8 -fexec-charset=utf-8</p>
<p>#添加依赖库文件</p>
<p>LIBS += -L$$PWD/linuxx64/ -lhlog -lhpr -lHUIControl -lQt5Svg -lPlayCtrl -lSystemTransform -lcurl -lAnalyzeData</p>
<p>#-Wl,-rpath=设置依赖库路径为程序当前路径,不然Qt会默认使用安装包的库,造成错误;</p>
<p>LIBS += -Wl,-rpath=./</p>
<p>QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN'" -Wl,-rpath,"./" -Wl,-rpath-link,"$(DESTDIR)"</p>
<p>#设置依赖库路径</p>
<p>DEPENDPATH +=.</p>
<p>#自动生成的文件包含依赖关系</p>
<p># The following define makes your compiler warn you if you use any</p>
<p># feature of Qt which has been marked as deprecated (the exact warnings</p>
<p># depend on your compiler). Please consult the documentation of the</p>
<p># deprecated API in order to know how to port your code away from it.</p>
<p>DEFINES += QT_DEPRECATED_WARNINGS</p>
<p> </p>
<p># You can also make your code fail to compile if you use deprecated APIs.</p>
<p># In order to do so, uncomment the following line.</p>
<p># You can also select to disable deprecated APIs only up to a certain version of Qt.</p>
<p>#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0</p>
<p> </p>
<p># Input</p>
<p>HEADERS += include/Algorithm.h \</p>
<p> include/AlgPublicDefine.h \</p>
<p> include/AnalyzeDataDefine.h \</p>
<p> include/AnalyzeDataNewInterface.h \</p>
<p> include/base_define.h \</p>
<p> include/CrashAPI.h \</p>
<p>FORMS += src/AddClusterTask.ui \</p>
<p> src/AddTaskItem.ui \</p>
<p> src/AddVedioAnaTask.ui \</p>
<p> src/AddVideoCollision.ui \</p>
<p> src/AnalysisTaskItem.ui \</p>
<p> src/CaseItem.ui \</p>
<p> src/CaseStateWidget.ui \</p>
<p> src/CCustomButton.ui \</p>
<p> src/Cluster.ui \</p>
<p> src/ClusterContainer.ui \</p>
<p> src/ClusterDetails.ui \</p>
<p> src/ClusterDetailsItem.ui \</p>
<p> src/ClusterLoadWait.ui \</p>
<p> src/WaringDialog.ui</p>
<p>SOURCES += src/AddClusterTask.cpp \</p>
<p> src/AddFileTaskItem.cpp \</p>
<p> src/AddVedioAnaTask.cpp \</p>
<p> src/AddVideoCollision.cpp \</p>
<p> src/AnalysisTaskItem.cpp \</p>
<p> src/aspectratiopixmaplabel.cpp \</p>
<p> src/CaseItem.cpp \</p>
<p> src/CaseStateWidget.cpp \</p>
<p> src/CCustomButton.cpp \</p>
<p> src/ClientAgent.cpp \</p>
<p> src/Cluster.cpp \</p>
<p>RESOURCES += src/facematch.qrc</p>
</div>
<div id="MySignature" role="contentinfo">
自己开发了一个股票智能分析软件,功能很强大,需要的关注微信公众号:QStockView<br><br>
来源:https://www.cnblogs.com/bclshuai/p/17453758.html
頁:
[1]