首页 > 系统相关 >一次windows下使用cmake遇到的问题

一次windows下使用cmake遇到的问题

时间:2023-06-08 16:36:40浏览次数:37  
标签:cmake 遇到 windows CXX -- build test Detecting compiler

背景

在windows下的cmake和mingw提供的make,在windows环境下进行了简单尝试,结果发现make的时候失败:

#include <iostream>
 
int main(){
    std::cout << "Hello, makefile." << std::endl;
    return 0;
}

CMakeList如下:

project(test)
add_executable(test test.cpp)

非常简单的语法,但在项目目录创建了build目录以后:

cd build; cmake ..
make

出错了:make: *** No targets specified and no makefile found. Stop.,是的,make出错,但这时候还不懂问题所在,以下是build目录的生成文件:

build目录下文件

如上,这种样式的build,不就满满的vs风嘛?!后来才在一位博主的文章中得到灵感,确定了cmake时不明确指定平台,它就会自动读取系统信息,然后进行系统相关的默认生成,所以上面需要用上make,就需要明确一点:

PS D:\Desktop\test\build> cmake .. -G "Unix Makefiles"
-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/software/mingw-w64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/software/mingw-w64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Desktop/test/build
PS D:\Desktop\test\build> ls


    目录: D:\Desktop\test\build


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          2023/6/8     16:17                CMakeFiles
-a----          2023/6/8     16:17          16598 CMakeCache.txt
-a----          2023/6/8     16:17           1554 cmake_install.cmake
-a----          2023/6/8     16:17           5337 Makefile


PS D:\Desktop\test\build> make
[ 50%] Building CXX object CMakeFiles/test.exe.dir/test.cpp.obj
[100%] Linking CXX executable test.exe
[100%] Built target test
PS D:\Desktop\test\build> ./test
Hello, cmakefile.

标签:cmake,遇到,windows,CXX,--,build,test,Detecting,compiler
From: https://www.cnblogs.com/Jack-artical/p/17466871.html

相关文章

  • Windows服务器如何查看服务器端口是否开放?
    在工作中处理服务器故障问题的时候,经常需要检测一下Windows的服务器业务端口是否开放,是否能正常与外面通讯。今天我与大家分享一下如何在windows环境下检测服务器端口是否开放,方法很简单。1、以Windows2008系统为例,先检查是否有安装telnet功能,有的服务器默认没有telnet功能,运行-cm......
  • .NET Core 实现 Windows 系统 Development、Staging、Production 三种环境的无感部署
    阅读目录〇、前言一、配置文件二、程序读取配置1.配置文件信息读取实现2.关于本机测试三、Windows服务器配置回到顶部〇、前言日常开发中,程序的环境切换是相当频繁的了,如果不同环境中的某些参数不同,那就需要每次编辑之前手动进行修改,比较麻烦,效率低下。本文......
  • wsexplorer——windows下的抓包工具 可以直接抓进程对应的网络流量
    软件标签:WSExplorer抓包工具  wsexplorer1.5版本是一款非常实用的抓包工具,用户能够直接通过软件直接获取更多的数据,同时还设计了选择功能,只需挑选自己需要的数据,需要的用户快来绿色资源网下载吧!wsexplorer抓包工具简介:wsexplorer是最好用的抓包工具,1.5版本添加新功能,分离二进......
  • QuasarRAT-windows下远程控制工具 之前用过 生成Client.exe 然后远控你的机器
    QuasarRAT-windows下远程控制工具怀揣梦想的大鸡腿2018-02-2810:00:314873收藏1分类专栏:安全版权资源:https://github.com/quasar/QuasarRATQuasar是一种用C#编码的快速轻量级远程管理工具。Quasar提供高稳定性和简单易用的用户界面,是远程管理解决方案。就一开源的远控......
  • 如何设置Windows操作系统TIME_WAIT状态的TCP连接快速回收时间?
    大规模Windows环境下,采用Nginx反向代理服务后,操作系统会产生较多TIME_WAIT的TCP(TransmissionControlProtocol)连接,操作系统默认TIME_WAIT的TCP连接回收时间是4分钟,TCP默认动态端口范围为开始端口49152,结束端口65535。这样会使回收TCP过慢导致系统吞吐量下降,甚至出现502访问失败问......
  • cmake
    cmake_minimum_required(VERSION3.4.1)##---指定cmake的最小版本set(TARGETwenet)##---将字符串wenet副给TARGETproject(${TARGET}CXX)##---指定工程名字,和语言,cxx代表c++set(CMAKE_CXX_STANDARD14)##---include(ExternalProject)##--CMAKE_SOURCE_DIR工程顶层目录include_d......
  • 2013年工作中遇到的20个问题:121-140
     121.Springz中,根据实现类找不到bean。UserImplimplementsUser{}XmlWebApplicationContextcontext;context.getBean(User.class);√javcontext.getBean(UserImpl.class);获取不到  没有使用Cgilib库!  --------貌似也不行------------ 因为spring的......
  • 2013年工作中遇到的20个问题(Bug):161-180
    161.用户表和超级用户分成2个表,很不合理,查询的时候,非常复杂。162.leftjoin还是很有“市场”的。机构表Org连接User时,想获得user的名字,可能存在,也可能不存在,leftjoin就适合。##多个leftjoin之间不能使用","隔开selectcg.*,u.loginNamecreatorName,org.nativeNameadvertiser......
  • 使用 ADB 命令为 Windows Subsystem Android(WSA)配置代理
    注意!以下命令需在命令提示符中执行,不要使用PowerShell,会有字符错误!设置代理:adbconnect127.0.0.1:58526&&adbshell"settingsputglobalhttp_proxy`iproutelistmatch0tableallscopeglobal|cut-F3`:7890"中间一大段会自动识别宿主机ip注意修改7890端口......
  • windows查看java进程, 终止进程命令
    查看:tasklist| findstr "java"终止:taskkill/pid20388/f/f表示强制终止......