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

梁山城乡建设局网站wordpress keyshot

梁山城乡建设局网站,wordpress keyshot,网站正在建设中的,网站排名怎么做 site目录 1.概述 2.详细用法 3.转换规则 4.处理复杂情况 4.1.子项目转换 4.2.条件逻辑转换 4.3.自定义构建步骤 4.4.第三方库依赖 5.转换后手动调整 5.1.检查生成的 CMakeLists.txt 5.2.添加缺失的配置 5.3.优化 CMake 结构 6.常见示例 7.常见问题及解决方法 8.调试…目录 1.概述 2.详细用法 3.转换规则 4.处理复杂情况 4.1.子项目转换 4.2.条件逻辑转换 4.3.自定义构建步骤 4.4.第三方库依赖 5.转换后手动调整 5.1.检查生成的 CMakeLists.txt 5.2.添加缺失的配置 5.3.优化 CMake 结构 6.常见示例 7.常见问题及解决方法 8.调试技巧 相关链接 1.概述 pro2cmake.py 是一个将 Qt .pro 项目文件转换为 CMakeLists.txt 文件的实用工具。它能自动解析 Qt 项目配置并生成等效的 CMake 构建脚本简化从 qmake 到 CMake 的迁移过程。 该脚本通常位于 Qt 安装目录的 libexec 或 bin 子目录下例如 # Linux/macOS /path/to/Qt/6.x.x/libexec/pro2cmake.py# Windows C:\Qt\6.x.x\msvc2019_64\libexec\pro2cmake.py 好像是Qt6之后的版本才有这个。如果找不到可以下面地址获取最新版本 https://code.qt.io/cgit/qt/qtbase.git/tree/util/cmake/pro2cmake.py?hwip/cmake 最基本的使用方式是直接指定输入的 .pro 文件 python pro2cmake.py [options] input.pro output_dir 常见选项 选项描述output_dir指定输出的 CMakeLists.txt 文件路径 input.pro输入的 .pro 或 .pri 文件路径-p, --project设置 CMake 项目名称默认使用 .pro 文件的 basename--qt-version指定 Qt 版本如 5 或 6默认自动检测--qt-path指定 Qt 安装路径--verbose启用详细输出模式--force强制覆盖已存在的输出文件--cmake-minimum指定 CMake 最低版本如 3.16默认 3.5--recursive递归处理子目录中的 .pro 文件 示例如下 # 转换单个 .pro 文件 python pro2cmake.py myproject.pro ./build# 递归转换整个项目目录 python pro2cmake.py --recursive ./src ./build 2.详细用法 1.指定输出路径 python pro2cmake.py input.pro -o /path/to/CMakeLists.txt 2.设置项目名称 python pro2cmake.py input.pro --project MyQtProject 3.明确指定 Qt 版本 python pro2cmake.py input.pro --qt-version 6 4.自定义 Qt 安装路径‘ python pro2cmake.py input.pro --qt-path /opt/Qt/6.5.0/gcc_64 5.详细输出模式 python pro2cmake.py input.pro --verbose 3.转换规则 工具会自动处理以下 .pro 文件内容 1.项目类型 TEMPLATE app → add_executable()TEMPLATE lib → add_library() 2.源文件和头文件 SOURCES → CMake 的 add_executable/add_library 源文件列表HEADERS → CMake 的头文件列表 3.链接库 LIBS → target_link_libraries() 4.Qt 模块 QT core gui → find_package(Qt6 COMPONENTS Core Gui REQUIRED)自动添加对应的 Qt 模块依赖 5.定义和编译选项 DEFINES → add_definitions()CFLAGS/CXXFLAGS → add_compile_options() 4.处理复杂情况 4.1.子项目转换 如果 .pro 文件使用 SUBDIRS 模板管理多个子项目 1.逐个转换为每个子项目单独运行 pro2cmake.py。 2.手动整合在根目录的 CMakeLists.txt 中使用 add_subdirectory() 包含子项目。 # 根目录 CMakeLists.txt add_subdirectory(src/core) add_subdirectory(src/gui) add_subdirectory(src/plugins) 4.2.条件逻辑转换 .pro 文件中的条件配置如平台特定代码需要手动转换为 CMake 的 if() 语句 .pro 文件示例 win32 {SOURCES win_specific.cpp } else {SOURCES unix_specific.cpp } 转换为 CMake if(WIN32)target_sources(myapp PRIVATE win_specific.cpp) else()target_sources(myapp PRIVATE unix_specific.cpp) endif() 4.3.自定义构建步骤 如果 .pro 文件包含自定义脚本如预处理、代码生成需要在 CMake 中使用 add_custom_command() 或 add_custom_target() # 示例生成代码文件 add_custom_command(OUTPUT generated_code.cppCOMMAND python generate_code.pyDEPENDS generate_code.pyWORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )add_executable(myapp main.cpp generated_code.cpp) 4.4.第三方库依赖 如果项目依赖非 Qt 库如 OpenCV、Boost 1.在 .pro 文件中找到 LIBS 和 INCLUDEPATH 配置。 2.在 CMake 中使用 find_package() 或 add_library() 添加依赖。 # 示例添加 OpenCV 依赖 find_package(OpenCV REQUIRED) target_link_libraries(myapp PRIVATE ${OpenCV_LIBS}) target_include_directories(myapp PRIVATE ${OpenCV_INCLUDE_DIRS}) 5.转换后手动调整 5.1.检查生成的 CMakeLists.txt 重点检查 源文件路径是否正确特别是相对路径。Qt 模块依赖是否完整如 Qt6::Network、Qt6::Xml。编译选项和 定义add_compile_options()、add_definitions()。 5.2.添加缺失的配置 1.资源文件.qrc qt_add_resources(myapp resources RESOURCES resources.qrc) 2.UI 文件.ui qt_wrap_ui(UI_HEADERS mainwindow.ui) 3.MOC 文件如果自动生成失败 set(CMAKE_AUTOMOC ON) 5.3.优化 CMake 结构 建议将复杂逻辑拆分为模块 project/ ├── CMakeLists.txt # 根配置 ├── cmake/ # 自定义模块 │ ├── FindQt6.cmake │ └── MyUtils.cmake └── src/├── CMakeLists.txt # 子项目配置 6.常见示例 一般项目片段 # 转换项目 python pro2cmake.py myproject.pro -o CMakeLists.txt --qt-version 6 --verbose# 检查生成的文件 vim CMakeLists.txt# 使用 CMake 构建 mkdir build cd build cmake .. cmake --build . 复杂项目转换片段 假设 .pro 文件包含 # 条件编译 contains(DEFINES, DEBUG) {DEFINES ENABLE_LOGGING }# 第三方库 INCLUDEPATH $$PWD/thirdparty/include LIBS -L$$PWD/thirdparty/lib -lmylib# 自定义构建步骤 system(scripts/gen_version.py $$VERSION_FILE) 转换为 CMake # CMakeLists.txt if(DEFINED DEBUG)target_compile_definitions(myapp PRIVATE ENABLE_LOGGING) endif()# 第三方库 include_directories(${CMAKE_SOURCE_DIR}/thirdparty/include) link_directories(${CMAKE_SOURCE_DIR}/thirdparty/lib) target_link_libraries(myapp PRIVATE mylib)# 自定义构建步骤 add_custom_target(generate_versionCOMMAND python ${CMAKE_SOURCE_DIR}/scripts/gen_version.py ${VERSION_FILE}WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) add_dependencies(myapp generate_version) 7.常见问题及解决方法 找不到 Qt 模块检查 CMAKE_PREFIX_PATH 是否指向 Qt 安装目录。编译错误检查源文件路径和依赖项是否正确。缺失定义在 CMake 中添加 add_definitions(-DMY_DEFINE)。 8.调试技巧 保留原始配置在生成的 CMakeLists.txt 中添加注释标记对应的 .pro 配置。使用 CMake 工具链为跨平台构建配置 toolchain.cmake。自动化测试编写测试脚本验证转换后的项目能否正常编译运行。 通过以上步骤你可以系统性地将复杂 Qt 项目从 .pro 转换为 CMake。转换后建议进行全面测试确保功能与原项目一致。 相关链接 CMake 官网 CMake - Upgrade Your Software Build SystemCMake 官方文档CMake Tutorial — CMake 4.0.3 DocumentationCMake 源码https://github.com/Kitware/CMakeCMake 源码CMake · GitLab中文版基础介绍: CMake 入门实战 | HaHackwiki: Home · Wiki · CMake / Community · GitLab
http://www.w-s-a.com/news/119378/

相关文章:

  • 建设酒店网站ppt模板下载郑州小程序设计外包
  • 网站建设自我总结google推广公司
  • 安全网站建设情况wordpress 评论表单
  • 网站建设发言材料个人网站推广软件
  • php建站软件哪个好南京哪家做网站好
  • 排名好的手机网站建设番禺网站建设专家
  • 番禺怎么读百度有专做优化的没
  • 网站开发中应注意哪些问题网络营销的主要特点
  • 网站定制案例北京网站制作招聘网
  • 网站建设与推广实训小结网站建设专业英文
  • 郑州网站建设动态凡科网站建设是免费的吗
  • 湖北手机网站建设wordpress转emlog博客
  • 北京东站设计网名的花样符号
  • 安徽建设厅网站首页网站开发aichengkeji
  • 自贡网站制作荣茂网站建设
  • 什么做的网站吗正规的机械外包加工订单网
  • 网络工程公司的业务邵阳seo快速排名
  • 博主怎么赚钱网站seo找准隐迅推
  • 营销号经典废话北京网站建设公司网站优化资讯
  • 一六八互联网站建设怎么做套版网站
  • wordpress 书站建筑公司简介范文大全
  • 建设官方网站多少鲜花网站建设的主要工作流程
  • 卖主机网站轻量wordpress主题
  • 网站建设规划书结构制作一个自己的网站
  • 外贸网站商城建设做网站和推广
  • 网站建设微信群免费简约ppt模板
  • 哈尔滨网站设计公司哪家更好shopify和wordpress
  • 岚县网站建设网站建设中效果
  • 网站建设软文推广网站建设分金手指排名十四
  • 网站建设要什么知识广州注册公司地址怎么解决