CLion手把手教你創建Windows項目

在這里插入圖片描述

作為一個Jetbrains迷的我,下載了Jetbrains全家桶,我就想用CLion 編寫 Windows 項目
前提:必須安裝 Visual Studio 2022

  • New Project
    在這里插入圖片描述

  • 選擇 C++ Executable,取好項目名, 點擊 Create
    在這里插入圖片描述

  • 在 CMakeList.txt 中添加以下內容,目的是使CLion支持Windows編程和MFC 編程

if (WIN32)add_definitions(-D_WIN32_WINNT=0x0601)
endif ()if (WIN32)set(CMAKE_MFC_FLAG 2)add_definitions(-D_AFXDLL)set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mwindows")
ENDIF ()

在這里插入圖片描述

  • 在 main.cpp 編寫以下內容
#include <windows.h>
// 窗口處理函數
LRESULT CALLBACK WndProc(HWND hWnd, UINT msgID, WPARAM wparam, LPARAM lparam){return DefWindowProc(hWnd, msgID, wparam, lparam);
}
// 入口函數 
int CALLBACK WinMain(HINSTANCE hIns, HINSTANCE hPreIns, LPSTR lpCmdLine, int nCmdShow){// 注冊窗口類WNDCLASS wndclass = {0};wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);wndclass.hCursor = nullptr;wndclass.hIcon = nullptr;wndclass.hInstance = hIns;wndclass.lpfnWndProc = WndProc;wndclass.lpszClassName = "Main";wndclass.lpszMenuName = nullptr;wndclass.style = CS_HREDRAW | CS_VREDRAW;// 將以上所有賦值全部寫入操作系統RegisterClass(&wndclass);// 在內存中創建窗口 HWND hwnd = CreateWindow("Main","window", WS_OVERLAPPEDWINDOW, 100, 100, 500, 500, nullptr, nullptr, hIns, nullptr);// 顯示窗口ShowWindow(hwnd, SW_SHOW);// 消息循環MSG msg = {nullptr};while (GetMessage(&msg, nullptr, 0, 0)){TranslateMessage(&msg);// 將消息交給窗口處理函數來處理 DispatchMessage(&msg);}return 0;
}

在這里插入圖片描述

  • 右鍵點擊 Reload CMake Project
    在這里插入圖片描述
  • 運行 main 函數
    在這里插入圖片描述

大功告成

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208106.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208106.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208106.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

系列八、SpringBoot中自定義SpringMVC配置

一、概述 作為Spring家族的明星產品&#xff0c;SpringBoot極大地簡化了程序員的日常開發&#xff0c;提高了開發效率。我們很容易得借助于SpringBoot就可以快速開發業務代碼。一般情況下&#xff0c;公司的日常開發都是基于web服務的&#xff0c;我們在使用idea等工具初始化一…

Zabbix補充

Zabbix的自動發現機制&#xff1a; Zabbix客戶端主動和服務端聯系&#xff0c;將自己的地址和端口發送服務端&#xff0c;來實現自動添加主機 客戶端是自動的一方 缺點&#xff1a;自定義的網段的主機數量太多&#xff0c;登記耗時會很久&#xff0c;而且這個自動發現機制不是…

P1075 [NOIP2012 普及組] 質因數分解題解

題目 已知正整數 n 是兩個不同的質數的乘積&#xff0c;試求出兩者中較大的那個質數 輸入輸出格式 輸入格式 輸入一個正整數n 輸出格式 輸出一個正整數p&#xff0c;即較大的那個質數 輸入輸出樣例 輸入 21 輸出 7 代碼 //對于一個質因數&#xff0c;從小到大開始…

Ubuntu 22.04源碼安裝yasm 1.3.0

sudo lsb_release -r看到操作系統的版本是22.04&#xff0c;sudo uname -r可以看到內核版本是5.15.0-86-generic&#xff0c;sudo gcc --version可以看到版本是11.2.0&#xff0c;sudo make --version可以看到版本是GNU Make 4.3。 下載yasm http://yasm.tortall.net/Downlo…

扁平的MutableList元素每隔若干元素一組裝入新MutableList,Kotlin

扁平的MutableList元素每隔若干元素一組裝入新MutableList&#xff0c;Kotlin fun main(args: Array<String>) {val array arrayOf("a", "b", "c", "d", "e", "f", "g", "h", "i…

左值、右值 、左值引用、右值引用的總結

文章目錄 什么是左值什么是右值純右值&#xff1a;將亡值&#xff1a; 左值引用右值引用 在C語言中我們常常會提起左值(lvalue) 和 右值(rvalue) 這樣的稱呼。編譯器在編譯程序報錯時&#xff0c; 有時也會報出錯誤信息中會包含左值、右值的說法。但是左值和右值并沒有一個嚴謹…

Numpy數組的重塑,轉置與切片 (第6講)

Numpy數組的重塑,轉置與切片 (第6講) ??????? ??博主 侯小啾 感謝您的支持與信賴。?? ?????????????????????????????????????????????????????????????????????????????????…

String 和 StringBuffer和 StringBuilder 場景應用

目錄 1.三者區分2.String 不可變性的示例代碼&#xff1a;3.String 頻繁創建對象4.StringBuffer 是可變的&#xff0c;可以進行增刪改操作而不產生新的對象。5.StringBuffer 是線程安全的&#xff0c;適合在多線程環境下使用&#xff0c;但同步會帶來一定的性能損耗。 代碼舉例…

聚類分析 | Matlab實現基于譜聚類(Spectral Cluster)的數據聚類可視化

聚類分析 | Matlab實現基于譜聚類(Spectral Cluster)的數據聚類可視化 目錄 聚類分析 | Matlab實現基于譜聚類(Spectral Cluster)的數據聚類可視化效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 1.Matlab實現基于譜聚類(Spectral Cluster)的聚類算法可視化&#xff08;完…

融云 Global IM UIKit

GlobalIM UIKit 基于多年領先的行業經驗&#xff0c;我們為開發者提供功能完備的單群聊 通信能力。“分鐘級”接入&#xff0c;即可得到符合海外用戶使用習慣的多端同步產品。 核心功能包括&#xff1a;快速接入、功能齊全、全球化交互體驗、內容審核、靈活可配置、高度自定義、…

c++詳解棧

一.什么是棧 堆棧又名棧&#xff08;stack&#xff09;&#xff0c;它是一種運算受限的數據結構&#xff08;線性表&#xff09;&#xff0c;只不過他和數組不同&#xff0c;數組我們可以想象成一個裝巧克力的盒子&#xff0c;你想拿一塊巧克力&#xff0c;不需要改變其他巧克…

基于AWS Serverless的Glue服務進行ETL(提取、轉換和加載)數據分析(二)——數據清洗、轉換

2 數據清洗、轉換 此實驗使用S3作為數據源 ETL: E extract 輸入 T transform 轉換 L load 輸出 大綱 2 數據清洗、轉換2.1 架構圖2.2 數據清洗2.3 編輯腳本2.3.1 連接數據源&#xff08;s3&#xff09;2.3.2. 數據結構轉換2.3.2 數據結構拆分…

FFmpeg開發筆記(六)如何訪問Github下載FFmpeg源碼

學習FFmpeg的時候&#xff0c;經常要到GitHub下載各種開源代碼&#xff0c;比如FFmpeg的源碼頁面位于https://github.com/FFmpeg/FFmpeg。然而國內訪問GitHub很不穩定&#xff0c;經常打不開該網站&#xff0c;比如在命令行執行下面的ping命令。 ping github.com 上面的ping結…

初識Linux:權限(1)

目錄 提示&#xff1a;以下指令均在Xshell 7 中進行 Linux 的權限 內核&#xff1a; 查看操作系統版本 查看cpu信息 查看內存信息 外部程序&#xff1a; 用戶&#xff1a; 普通用戶變為超級用戶&#xff1a; su 和 su-的區別&#xff1a; root用戶變成普通用戶&#…

KALI LINUX信息收集

預計更新 第一章 入門 1.1 什么是Kali Linux&#xff1f; 1.2 安裝Kali Linux 1.3 Kali Linux桌面環境介紹 1.4 基本命令和工具 第二章 信息收集 1.1 網絡掃描 1.2 端口掃描 1.3 漏洞掃描 1.4 社交工程學 第三章 攻擊和滲透測試 1.1 密碼破解 1.2 暴力破解 1.3 漏洞利用 1.4 …

什么是SSL證書?

當我們網上購物或銀行業務時&#xff0c;為了安全起見&#xff0c;我們希望看到網站的地址欄上有“HTTPS”和安全鎖圖標。但是這個“HTTPS”和鎖定圖標實際上意味著什么&#xff1f;要回答這些問題&#xff0c;我們需要了解 HTTPS、SSL 協議和 SSL 證書。 關于HTTPS、SSL和SSL…

風控反欺詐安全學習路標

1. 金融和支付領域知識 - 了解金融和支付領域的基本概念、業務流程和風險特點。 - 學習金融機構的監管要求和合規措施&#xff0c;如KYC&#xff08;了解你的客戶&#xff09;和AML&#xff08;反洗錢&#xff09;。 2. 數據分析和挖掘技術 - 學習數據分析和數據挖掘的基本原理…

fastadmin獲取關聯表數據select渲染

php public function piliangadd(){if (false === $this->request->isPost()) {$fenlei_list = Db::name(fenlei)->order(weigh desc)->select();$this</

每天五分鐘計算機視覺:稠密連接網絡(DenseNet)

本文重點 在前面的課程中我們學習了殘差網絡ResNet,而DenseNet可以看成是ResNet的后續,我們看一下圖就可以看出二者的主要區別了。 特點 DenseNet是一種卷積神經網絡,它的特點是每一層都直接連接到所有后續層。這意味著,每一層都接收來自前一層的輸出,并將其作為輸入傳遞…

Flyway——Oracle創建前綴索引

文章目錄 前言創建一般索引的語法前綴索引 前言 索引有助于提升數據庫表的查詢速率&#xff0c;極大的縮減查詢的時間。但索引的創建需要考慮的因素很多&#xff0c;并非索引越多越好&#xff01; 創建一般索引的語法 oracle創建一般的常見索引&#xff0c;語法如下所示&…