当前位置: 首页 > news >正文

pro 传cmakelist

cmake_minimum_required(VERSION 3.16) project(VpxPcieSignalRecordPlayback VERSION 1.0.0 LANGUAGES CXX) # ─── C++ 标准 ─── set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) # 自动处理 Q_OBJECT 的 moc set(CMAKE_AUTORCC ON) # 自动处理 .qrc 资源文件 set(CMAKE_AUTOUIC ON) # 自动处理 .ui 文件 # ─── Qt 模块 ─── find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Sql Xml SerialPort PrintSupport ) # ─── 源文件列表 ─── set(SOURCES main.cpp MainWindow.cpp # eLog eLog/Log.cpp # Easylogging++ 核心 .cc 文件 Extern/Logs/EasyLogging++.cc # 网络 Network/FtpComunicate.cpp Network/UdpSocket.cpp Network/monitorudpsocket.cpp # 串口 Serial/SerialCtrl.cpp Serial/SerialFrameProcess.cpp # 数据库 Database/DbManager.cpp Database/LogDbManager.cpp # 工具 Utils/FileUtils.cpp Utils/UserTips.cpp Utils/Utils.cpp # 设置 Settings/Setting.cpp ) # ─── 头文件路径 ─── set(HEADERS MainWindow.h DataInterception.h DataPlayBack.h # ... 省略其他,CMake 不需要显式列出头文件 # 但建议列出来让 IDE 识别 ) # ─── UI 文件 ─── set(UI_FILES MainWindow.ui ) # ─── 资源文件 ─── set(RESOURCE_FILES Resources/qss.qrc Resources/images.qrc ) # ─── 创建可执行文件 ─── add_executable(${PROJECT_NAME} ${SOURCES} ${UI_FILES} ${RESOURCE_FILES} ico/satellite.rc # Windows 资源文件 ) # ─── 包含路径 ─── target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/eLog ${CMAKE_SOURCE_DIR}/Extern/Logs # ← EasyLogging++.h 路径 ) # ─── 预定义宏(对应 .pro 的 DEFINES) ─── target_compile_definitions(${PROJECT_NAME} PRIVATE QT_DEPRECATED_WARNINGS _AFXDLL # Easylogging++ 配置宏 ELPP_QT_LOGGING ELPP_FEATURE_ALL ELPP_STL_LOGGING ELPP_STRICT_SIZE_CHECK ELPP_UNICODE ELPP_MULTI_LOGGER_SUPPORT ELPP_THREAD_SAFE ELPP_LOGGING_FLAGS_FROM_ARG # QCustomPlot QCUSTOMPLOT_USE_OPENGL ) # ─── 链接库 ─── target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Sql Qt5::Xml Qt5::SerialPort Qt5::PrintSupport # FFTW ${CMAKE_SOURCE_DIR}/Extern/fftw/x64/libfftw3-3.lib # Windows 系统库 setupapi opengl32 glu32 ) # ─── 设置输出目录 ─── set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/bin/Debug" RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/bin/Release" ) # ─── Windows 资源文件 ─── if(WIN32) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE TRUE ) endif()
QT += core gui sql xml serialport #CONFIG += c++11 debug_and_release greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport TARGET = xxx TEMPLATE = app CONFIG(release){ MOC_DIR = temp/release/moc OBJECTS_DIR = temp/release/obj DESTDIR = bin/Release } CONFIG(debug,debug|release){ MOC_DIR = temp/debug/moc OBJECTS_DIR = temp/debug/obj DESTDIR = bin/Debug } msvc:QMAKE_CXXFLAGS += -source-charset:utf-8 #DEFINES += PROJECT_70402 #win32{ #contains(QT_ARCH, i386){ ##Windows x86 (32bit) specific build here #message("32-bit") #LIBS += $$PWD/glog/glog_win/x86/libglog.a #INCLUDEPATH += glog/glog_win #} else { ##Windows msvc x64 (64bit) specific build here #message("64-bit") #LIBS += $$PWD/glog/glog_win/x64/glogd.lib #INCLUDEPATH += glog/glog_win #} #} win32{ win32-msvc*{ MSVC_VER = $$(VisualStudioVersion) equals(MSVC_VER, 14.0){ contains(QT_ARCH, i386){ message("msvc 2015 32") } else { message("msvc 2015 64") } } } else { contains(QT_ARCH, i386){ message("mingw 32") } else { message("mingw 64") } } } #INCLUDEPATH += interface DEFINES += QT_DEPRECATED_WARNINGS include(Extern/qtSingleApplication/QtSingleApplication.pri) DEFINES += ELPP_QT_LOGGING \ ELPP_FEATURE_ALL \ ELPP_STL_LOGGING \ ELPP_STRICT_SIZE_CHECK ELPP_UNICODE \ ELPP_MULTI_LOGGER_SUPPORT \ ELPP_THREAD_SAFE \ ELPP_LOGGING_FLAGS_FROM_ARG SOURCES += \ Extern/Logs/EasyLogging++.cc \ HEADERS += \ FormUnitTest.h \ MainWindow.h \ Extern/Logs/EasyLogging++.h \ config.h \ FORMS += \ FormUnitTest.ui \ MainWindow.ui \ RC_FILE = ico/satellite.rc INCLUDEPATH += \ eLog \ Extern/Logs \ Settings # FFT LIBS += -L$$PWD/Extern/fftw/x64/ -llibfftw3-3 INCLUDEPATH += $$PWD/Extern/fftw DEPENDPATH += $$PWD/Extern/fftw LIBS += -lsetupapi #LIBS += -liphlp #QCustomPlot DEFINES += QCUSTOMPLOT_USE_OPENGL LIBS += -lopengl32 -lglu32 INCLUDEPATH += Extern/QCustomPlot/ RESOURCES += \ Resources/qss.qrc \ Resources/images.qrc DISTFILES +=
http://www.jsqmd.com/news/1391697/

相关文章:

  • Tank-OS:用可启动镜像封装AI Agent,实现一键部署与交付
  • Unity 多渠道分包工程化:配置数据化、构建钩子与 CI 流水线
  • 告别激活弹窗:KMS_VL_ALL_AIO完整指南,3步实现Windows和Office自动续期激活
  • 9 B+树详解
  • Buzz 离线语音转文字完整指南:5分钟上手,字幕与会议记录一步到位
  • 把安卓应用装进 Windows:APK 安装器新手完整指南(5 分钟上手)
  • 一文玩转 HandheldCompanion:让 Windows 掌机真正“懂游戏“的完整指南
  • 如何 3 步定位 Loki 查询慢的根因:索引与并行化完整调优指南
  • 零成本实现虚拟背景:obs-backgroundremoval 免费抠像插件使用教程
  • 斯坦福CS 229机器学习速查手册:考前5分钟,一张纸装下整学期重点
  • BT下载卡在99%、速度归零?这份每日自动更新的Tracker服务器清单是终极解药
  • DM FLUSH 线程:达梦数据库脏页刷新机制深度解析
  • 南充网站建设费用大揭秘:2024普通企业建站到底要花多少钱才不吃亏
  • 揭秘电商网站 建设步骤全流程干货:从0到1打造高转化独立站
  • Android 人脸检测新思路:用 dlib-android 让离线人脸识别快速跑进你的 App
  • 告别手动一首首添加:三分钟完成歌单迁移,跨平台音乐转移如此简单
  • 彻底卸载Edge总失败?EdgeRemover免费脚本帮你一次清干净
  • SyncTrayzor 完整使用指南:3 步把 Syncthing 变成顺手的 Windows 文件同步工具
  • 从新手到专家:AI Automation Suggester自动化规则生成原理与高级参数调优
  • 测量内业小宝与批量横断面绘图插件一体化工具|教学演示与工程资料高效整理利器
  • 打造工业AI的“稀有识别力”:视频流智能采集与尾类增强实战
  • 一次搞定九大网盘下载地址,为什么说这款网盘直链下载工具值得一试
  • Cowabunga Lite完全指南:无需越狱的 iOS 定制美化工具,手把手打造专属iPhone
  • 北京天海网站建设公司:揭秘一家靠谱建站公司的底色,不玩虚的只讲干货
  • Krea-2 Turbo 部署实战:3 套显存方案,零基础也能跑通 AI 绘图全流程
  • Photoshop WebP 插件 WebPShop 上手指南:从压缩预览到动画导出
  • 深度解析企业必备的网站系统安全防护体系建设方案 下载与实操指南
  • 口碑好的苗木批发机构
  • php面试题 2026
  • C# 与原生函数指针桥接:内部调用、P/Invoke 与函数表分发