首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Cmake生成跨平台项目编译解决方案

一、cmake简介     你或许听过好几种 Make 工具,例如 GNU MakeQT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。...,因此新建一个文件夹,到时候需要clean的时候,直接删除build即可)。     ...然后执行cmake ../     然后build目录就会产生vs的项目文件windows下默认是产生vs的项目,如果要产生其他编译器的makefile,则需要使用-G指定编译器,如下:     ...生成项目工程文件或者makefile之后,就可以使用对应的编译器来编译项目了。 3、linux使用cmake生成项目     linux下使用cmake生成项目和和上面的第2小节类似。     ...CMakeLists.txt所在目录新建build目录,build目录执行:     cmake ../     就会在build目录生成Makefile文件,然后就可以继续执行make编译项目。

5.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    make makefile cmake qmake都是什么,有什么区别?

    5. cmake是抽象层次更高的项目管理工具,cmake命令执行的CMakeLists.txt文件 6. qmake是Qt专用的项目管理工具,对应的工程文件是*.pro,Linux下面它也会生成Makefile...,当然,命令行下才会需要手动执行qmake,完全可以qtcreator这个专用的IDE下面打开*.pro文件使用qmake命令的繁琐细节不用你管了。...2.当你的程序只有一个源文件,直接就可以用gcc命令编译它。...3.但是当你的程序包含很多个源文件,用gcc命令逐个去编译,你就很容易混乱而且工作量大 4.所以出现了make工具 make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式...qmake 是为 Qt 量身打造的,使用起来非常方便,但是cmake功能比qmake强大。 一般的Qt工程你就直接使用qmake就可以了,cmake的强大功能一般人是用不到的。

    2.2K10

    该项目的所有配置项都需要系统提供对某些平台的支持,但在此计算机上没有安装这些平台。因此无法加载该项目。

    如果您希望在编辑器中自动打开文件, 也可以使用任何其他文件作为第一个参数。当您输入项目文件,IDE 会在项目文件的父目录中查找与该项目文件具有相同 基名称的 .sln 文件。.../Clean 删除生成结果。 /Command 启动 IDE 并执行该命令。 /Deploy 生成并部署指定的生成配置。 /Edit 在此应用程序的运行实例中打开 指定文件。...并相应地创建这些文件的备份。有关备份 过程的更多信息,请参见 “Visual Studio 转换向导”上的帮助。 产品特定的开关: /debugexe 打开要调试的指定可执行文件。...如果您希望在编辑器中自动打开文件, 也可以使用任何其他文件作为第一个参数。当您输入项目文件,IDE 会在项目文件的父目录中查找与该项目文件具有相同 基名称的 .sln 文件。.../Clean 删除生成结果。 /Command 启动 IDE 并执行该命令。 /Deploy 生成并部署指定的生成配置。 /Edit 在此应用程序的运行实例中打开 指定文件

    23820

    Qmake VS Cmake

    cmake 构建Qt工程(对比qmake进行学习) cmake vs qmake qmake 是为 Qt 量身打造的,使用起来非常方便 cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能...用 qmake : 默认是 windows 子系统 可以通过 CONFIG += console 使用 console 子系统 用 cmake 是: 默认是 console 子系统 使用 windows...只是: MinGW 下仅仅这么做还不行,上面的 MinGW 块用来修复这个问题 Debug 与 Release qmake 使用 qmake ,可以 pro 文件内分别为两种模式设置不同的选项...使用时,可以直接 make release 或 make debug 来编译不同的版本 cmake 不同于 qmake,由于 cmake 采用 out-of-source 方式。...故: 建立debug release两目录,分别在其中执行cmake -DCMAKE_BUILD_TYPE=Debug(或Release) 需要编译不同版本进入不同目录执行make 对生成 msvc

    1.1K10

    程序员C语言快速上手——工程篇(十三)

    .o文件 clean: rm *.o cd到当前目录,执行输入make命令,即可快速编译生成main.exe程序,当我们需要清理整个工程,即全部重新编译,可以输入make clean命令,即可删除当前目录下的所有....o文件和可执行文件 clean: rm *.o main.exe make工具中,它能够自动完成对.c文件的编译并生成对应的.o文件。...伪目标伪目标就是一个标签,它本身既不是目标文件也不是可执行文件,例如上面例子中的clean,我们可以通过伪目标定义一些命令,然后make中去执行。...当我们需要删除临时文件,只需要删除build目录即可,不会对源码工程造成任何影响。...-G "MinGW Makefiles" ..命令自动生成Makefile文件,然后执行make命令进行编译,完成后build目录下即生成main.exe 当链接已经编译好的库,推荐使用find_library

    3K30

    xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持

    现在,xmake v2.3.7 版本发布了,新版本中,我们主要完善了 xmake 自身的稳定性和兼容性,通过两个月的不断迭代,修复了很多用户反馈的各种使用问题,使用体验和稳定性有了很大的提升。...而不需要关心 autotools/cmake 需要如何去配置使用和编译,毕竟 cmake 对于 windows 和 linux 平台,需要生成不同的构建文件,编译方式也是不同的,一会调用 make,一会调用...不仅如此,xmake 还对接了 xmake -r 来直接重新编译,对接 xmake clean 实现统一的文件清理,对接 xmake -v 实现统一的详细编译命令的查看。...,哪怕这个项目是使用 cmake 来维护的。...环境的支持 #918: 改进cuda11工具链的支持 改进Qt支持,对通过 ubuntu/apt 安装的Qt sdk也进行了探测支持,并且检测效率也优化了下 改进 CMake 工程文件生成器 #931:

    1.3K10

    g++,CMake和Makefile了解一下

    显示规则: 通常在写makefile使用的都是显式规则,这需要指明target和prerequisite文件。...步骤如下: 1.编写clean 这一步Makefile中基本差不多,它的作用就是删除所有的.o文件和可执行文件。为什么这样做呢?...另外请注意Makefile文件执行时不会执行clean这个命令,需要我们调用才会执行,即make cleanclean代码如下: ?...CMake是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程,其是make基础上发展而来的,早期的make需要程序员写Makefile文件,进行编译,而现在CMake能够通过对...对于我们这个实例,编译如下: 首先我们命令行输入cmake .(注意cmake和.之间有空格),表明Cmakelist.txt文件在当前目录下。 ? 接下来命令行输入make ?

    1.6K20

    CMake编写总结

    makeCMake之间的关系是CMake 通过命令可以生成make执行的Makefile文件,所以说CMakemake 的升级版的生成工具 CMake文档 点击此处到达CMake的在线文档页面。...GLOB_RECURSE,因为他会遍历所有找到的文件夹以及他的子文件夹,容易造成把build目录扫描导致main函数重复定义的情况 完成后用CMake编译生成makefile,即可使用make命令进行项目的编译了...复杂(多文件夹)C++项目写CMakeLists.txt 复杂项目示例 一般有较多文件的项目都是使用文件夹进行管理项目源文件的,使用多个不同级目录下保存源文件的管理方式使用CMake生成makefile..."*.cpp") file(GLOB_RECURSE HEADERS "*.h") 这样就可以对多个文件夹管理的项目使用CMake生成makefile了 qt项目编写CMake qt项目需要添加相应的库...dependes target_link_libraries(${TARGET_NAME} PRIVATE Qt5::Widgets) 使用 在当前文件夹下使用一下命令可以生成Makefile: cmake

    1.1K10

    Deepin15.11下Qt5.14无法使用中文输入法

    对于使用 fcitx 框架的中文输入法,需要手动编译 fcitx-qt5 生成中文输入法的库文件。 1....安装 cmake,用于编译 fcitx-qt5 首先查看是否已经安装 cmake: cmake --verison 如果有显示版本信息说明已经安装,则可以到下一步;如果没有安装,则先安装: sudo apt...为 Qt 版本号),则说明已经设置过了 qmake 环境变量,可以到下一步;如果没有设置,则手动临时设置 qmake 环境变量(后续命令都需该终端进行): export PATH="$HOME/Qt...cmake . make sudo make install 最后把编译得到的 libfcitxplatforminputcontextplugin.so( Qt 目录中的 x.y/gcc_64/...编译安装 extra-cmake-modules_1.4.0 cd extra-cmake-modules-1.4.0 cmake . make sudo make install 然后回到上一步重新执行

    84031

    Geant4安装教程--最新Ubuntu18.04装配&&最新G4.10.05.p01

    Geant4调用Qt的过程中,会首先搜索Qt5,找不到Qt5的情况下搜索Qt4.因此本着强迫症优先的原则,同时作者放弃了 apt-get install qt*的安装方式,因为作者遇到了Qt4和Qt5...sudo dpkg -l|grep qt|more #搜索系统中所有的qt相关的包,会发现若干qt4,qt5. sudo dpkg -r qt* #删除系统所有的qt 包 从官网下载最新版本的Qt5.13.0...这时候就要关注报错信息,是否和/usr/lib/x86_64-linux-gnu/****.so 文件有关。如果有关的话,请使用 sudo ln -s 命令操作[7]。...2.3 Xerces的安装工作 为了保证可以有效使用GDML XLM 文件, 版本号大于3的 Xerces-C++ headers and library 需要进行安装。...使用sudo pgp -ka KEY 和 sudo pgp xerces-c-3.2.2.tar.gz.asc 文件对源文件验证。验证通过后,按照[9]进行安装。

    3.5K20

    Linux Tcp通信——服务器与客户端

    之前一直想做linux+qt方向的,然而现在变成嵌入式软件方向了。其实也还好吧,这样就需要对底层的一些东西了解,目前是智能交通行业了。...程序平台与环境:ubuntu16.04 64位、 c语言、 Eclipse编辑器、makefile文件编译(非cmake进行编译) 一、Tcp Server 源程序 程序特点: ①只能接受一个客户端连接...Makefile文件模板 Makefile文件还没有深入研究 使用前进入到Makefile文件所在目录下,最好先 make clean,然后make 之前对cmake简单研究过,嵌入式开发用的还是更原始一些...,用的make;还有就是写脚本指定的都是bash,现在指定的是sh~ APP_DIR = ....四、小结 以后Qt研究的可能会少了,但是不会放弃的。 以后通信安全方面知识的学习会多一些,也会和大家做一些分享的。

    6.9K10

    Linux Qt配置opencv环境(一)

    ,解压,进入opencv-3.4.10文件内: cmake 指令 (注意,之后会用make -j4进行测试) 官方网站:https://opencv.org/releases/ 下载好压缩文件后,...解压,进入opencv-3.4.10文件内: cmake 指令 (注意,之后会用make -j4进行测试) 经过漫长时间编译后,默认参数使得头文件/usr/local/include下,分别是opencv...和opencv2; 头文件/usr/local/lib下的libopencv_* Make的过程还是有些耗时的。...②使用Qt 进行测试 使用之前文章 Qt一些模板 链接共享库的方式进行测试: unix{ contains(QT_ARCH, i386){ } contains...六、 小结 ①关于源码编译部分其实是将源码变成了共享库及头文件Qt 中如何使用共享库及头文件Qt 中编译部分及程序运行时所需共享库的搜索路径

    6.3K50

    AI树莓派——构建树莓派大脑(NCNN环境搭建)

    前言 镜像已经做好了,传到百度网盘中了(请大家及时保存,不定期删除!)...密码 111 依赖库编译Dowloads文件夹下 编译好的NCNN项目work目录下 板卡介绍 本系列教程采用树莓派3B+开发板: ?...# 添加库路径 /etc/ld.so.conf.d/目录下创建文件bprotobuf.conf文件 $ cd /etc/ld.so.conf.d/ $ sudo touch bprotobuf.conf...-default -y 安装numpy(命令行),第一次使用pip安装可能会比较慢,耐心等待 $ sudo pip3 install numpy 查看numpy的安装目录并记录(后面编译需要PYTHON3...配置 解压后opencv-3.4.0文件夹里创建build文件夹,然后命令行里面cd到此文件夹,开始cmake,以下内容为一行 $ cmake -D CMAKE_BUILD_TYPE=RELEASE

    2.1K30

    QTcmake项目工程配置

    QT的项目工程默认使用的是qmake,这本来也没什么问题。但是由于要用到vcpkg这个工具来管理第三方库,好像这个 vcpkg工具只能在cmake的项目中才能使用。...=F:\vcpkg\scripts\buildsystems\vcpkg.cmake -Wno-dev 另外需要注意的是,QT的环境中可以直接运行能出来界面没问题。...如果你的源码使用了三方库或者生成了动态链接库,那么需要手动将需要的dll文件复制到目录下,实际运行试试,是不是可以正常运行。...()指定动态链接库install()指定make install的目录 set(XXXX YYYYYY)用于设置和修改变量 ${XXXX} 使用变量 cmake_minimum_required(VERSION...\win\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_MAKE_PROGRAM=D:/Program Files/JetBrains/CLion 2021.3.3

    3.4K21
    领券