cmake构建多项目编译

这篇具有很好参考价值的文章主要介绍了cmake构建多项目编译。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目结构如下

cmake构建多项目编译,QT,qt

CMakeLists清单

最外层的主CMakeLists

cmake_minimum_required(VERSION 3.17)
project(cmakeMulPackage)

set(CMAKE_CXX_STANDARD 11)

#添加一个子目录并构建该子目录
add_subdirectory(proj1)
add_subdirectory(proj2)

#定义头文件路径
include_directories(proj1/include proj2/include)

#生成可执行exe
add_executable(cmakeMulPackage app/src/main.cpp)

#目标依赖要使用的库的路径
link_directories(./lib)
#指定链接给目标依赖要使用的库
target_link_libraries(cmakeMulPackage
        MyProj1
        MyProj2)

proj1的CMakeLists

#定义头文件路径
include_directories(./include)

#同时生成lib与DLL
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ../lib) #DLL生成路径
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ../lib) #lib生成路径
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ../pdb) #pdb生成路径

#把目录src下面的所有文件作为变量存储
aux_source_directory(./src SOURCES)

#生成库
add_library(MyProj1 STATIC ${SOURCES})

proj2的CMakeLists

#定义头文件路径
include_directories(./include)

#同时生成lib与DLL
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ../lib) #DLL生成路径
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ../lib) #lib生成路径
set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ../pdb) #pdb生成路径

#把目录src下面的所有文件作为变量存储
aux_source_directory(./src SOURCES)

#生成库
add_library(MyProj2 STATIC ${SOURCES})

项目代码

main.cpp

#include <iostream>

#include "hello.h"
#include "world.h"

int main() {
    std::cout << "Hello, World!" << std::endl;

    hello();
    world();
    return 0;
}

proj1/hello.h

#pragma execution_character_set("utf-8")
void hello(void);

proj1/hello.cpp

#include <cstdio>
#include "hello.h"

void hello()
{
    printf("proj1. 111111111\n");
}

proj2/world.h

#pragma execution_character_set("utf-8")
void world(void);

proj2/world.cpp

#include <cstdio>
#include "world.h"

void world()
{
    printf("proj2. 22222222\n");
}

运行

cmake构建多项目编译,QT,qt文章来源地址https://www.toymoban.com/news/detail-733943.html

到了这里,关于cmake构建多项目编译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows环境利用QT+CMake编译mingw版本的opencv

    Opencv官网没有提供mingw版本的opencv库,所以需要自己编译,下面是编译过程,32位64位方法类似。 可以直接下载编译好的mingw版本opencv4.4: 使用CMAKE3.22+QT5.13编译后的opencv4.4(32位的)资源-CSDN文库 如果网络不好,可能会需要自己手动下载下面的文件:  opencv_videoio_ffmpeg.dll+ope

    2024年02月13日
    浏览(36)
  • cmake扩展(1)——VS+CMake创建Qt项目

    添加main.cpp文件( 可以为空 )后 CMakeLists目录下运行 build目录下运行 项目右键-添加-新建项-C++类。设置好类名和路径,点击添加。 项目右键-添加-新建项-Qt-Qt Widget Form File。设置好类名和路径,点击添加。 由于此处添加的ui文件和类文件没有关联,会导致编译不通过(不知道是

    2024年02月13日
    浏览(30)
  • windows下qt creator 配置编译环境gcc,g++,gdb,cmake

    MSVC :即Microsoft Visual C++ Compiler,即微软自己的编译器 MinGW :我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写 这里我们选择MinGW,至于Qt中,这两种模式的区别,自行查阅相关资料 在Qt 安装完成之后,gcc.exe,g++.exe,qmake.exe就已经有了,我们可

    2024年02月09日
    浏览(42)
  • QT转型Visual Studio(qmake项目到cmake项目的移植)

    由于工作需要,同时也为了方便以后的集成升级,希望将之前用Qt creator qmake开发的项目移植到cmake项目中,并使用Visual Studio 进行后续开发,本文主要用以记录该过程中的常规步骤和遇到的特殊情况。 在一开始,为了降低开发难度以及快速完成业务开发,我们使用Qt Creator原生

    2024年02月09日
    浏览(35)
  • YOLOV5 自动刷图脚本实战(六)之OpenCV+CMake+MinGW-64 Qt5编译

    目录  一、OpenCV下载 1、官网地址: 2、安装解压OpenCV 二、OpenCV-Contrib下载 1、下载

    2024年02月03日
    浏览(34)
  • Cmake:Error in configuration process,project files may be invalid.Qt编译opencv的经验之谈。

    Error in configuration process,project files may be invalid. 我这个是使用cmake来 编译opencv  +Qt。 Qt的这个路径 要放在环境变量的path中:E:Qt5Qt5.14.1Toolsmingw730_64bin 。 出错的原因是,没有按顺序操作Cmake界面按钮。 1.配置CMake编译条件 ①打开CMake(cmake-gui)。 ②选择OpenCV安装目录下的源码文

    2024年02月03日
    浏览(38)
  • 【QtQuick3D学习】使用Qt Design Studio设计UI并导入Qt Creator项目中使用——基于C++和Cmake

    新版本中项目文件全部放在了一起,见 【QtQuick3D学习】使用Qt Creator创建Qt Design Studio项目测试运行——基于C++和Cmake 【QtQuick3D学习】使用Qt Design Studio创建项目并使用Qt Creator打开测试运行——基于C++和Cmake 这里测试前后端分离,即使用Qt Design Studio设计前端和交互逻辑,C++写后

    2024年02月01日
    浏览(31)
  • qt命令行编译项目

    #!/bin/sh #export QTDIR=/opt_bk/QTDIR5.6.3 export QTDIR=/opt/Qt5.6.3/5.6.3/gcc_64 export PATH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH   cd framework make clean $QTDIR/bin/qmake framework.pro -r -spec linux-g++ \\\"CONFIG+=release\\\" make -j8 make clean

    2024年02月21日
    浏览(23)
  • CMake+QT使用教程

    下面是使用 Qt 用 C++ 编写的控制台应用程序的典型文件:CMakeLists.txt 项目目录结构 顶层CMakeLists.txt,包含整个项目的设置并调用add_subdirectory,顶层CMakeLists.txt设置的变量在子目录项目中可见 子目录项目CMakeLists.txt 项目目录结构 库项目文件(src/businesslogic/CMakeLists.txt) 最后,

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包