如何創建乾凈的C++工程

来源:https://www.cnblogs.com/anlg-dongxh/archive/2023/02/08/17100936.html
-Advertisement-
Play Games

如何創建有層次的C++工程目錄 大多數人創建C++工程採用預設設置,這樣會導致工程內文件散亂,毫無可觀性。那麼如何去創建一個可觀性搶的工程目錄呢?以下將為大家解惑。 1、快速創建預設工程並簡單處理 a、新手因不理解具體的項目工程有哪些文件目錄,所以我建議直接創建一個預設的項目,然後關閉當前目錄創建這 ...


如何創建有層次的C++工程目錄

大多數人創建C++工程採用預設設置,這樣會導致工程內文件散亂,毫無可觀性。那麼如何去創建一個可觀性搶的工程目錄呢?以下將為大家解惑。

1、快速創建預設工程並簡單處理

a、新手因不理解具體的項目工程有哪些文件目錄,所以我建議直接創建一個預設的項目,然後關閉當前目錄創建這幾個文件目錄:
img

b、將.sln的項目文件放在builder文件目錄下,打開vs運行sln文件就可以直接加在所有的工程

c、將含有.vcxproj文件的工程目錄放在src文件夾下,為源代碼

d、將公有的.h頭文件放在include頭文件文件夾下,如果項目較多可在include文件夾下進行分類

e、將公用的.lib庫文件存放與lib文件夾下,對其進行Debug和Release文件夾的區分

f、簡歷bin文件夾存放運行文件和動態庫文件,也是調試的文件目錄

g、建立Deploy文件夾作為發包的文件夾

h、pbd文件夾存儲調試文件

至此所有的文件夾就創建完畢,如果項目過大,也可以簡歷tools文件夾存儲三方工具,setup文件夾存儲腳本文件

2、設置工程屬性

a、工程屬性->配置屬性->常規,設置輸出目錄為bin文件夾,中間目錄為pdb文件夾,註意採用相對路徑

b、工程屬性->C/C++->常規,設置include文件夾目錄,註意採用相對路徑

c、工程屬性->鏈接器->常規,設置lib文件夾目錄,註意採用相對路徑

d、工程屬性->鏈接器->輸入,添加需要調用的lib文件名,也可以在項目的pch.h頭文件中採用#param comment(lib,"調用.lib")的方式調用

e、工程屬性->鏈接器->優化->鏈接時間代碼生成,選擇“使用鏈接時間代碼生成”,可以去除不必要的中間文件(e.g: .ilk文件)

f、工程屬性->生成事件->生成後事件,使用COPY命令將打包需要的exe和動態文件拷貝到Deploy中,將公用的.h文件拷貝到include文件夾中

3、設置依賴項

a、右擊工程文件->生成依賴項->項目依賴項,選擇當前項目需要的依賴項目

e.g 視頻觀看請點擊如下

視頻觀看

聯繫

QQ群:820191434

微信:anlg_study

視頻:https://space.bilibili.com/3493080139303853

商城:研發中......


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SqlServer屬於商業資料庫,不可能像Mysql等資料庫一樣,去解析相關的資料庫binlog,從而實現增量數據的回放,結合應用屬性,最後確定採用離線遷移方式,從SqlServer中將表數據全部讀出,然後將數據寫入到pg中,採用此種方案的弊病就是程式端需停止寫入(應用可將部分數據緩存到本地),等待... ...
  • Android 常用 adb 命令總結 adb ( 全稱為Android Debug Bridge)是一個C/S 架構命令行工具,起到調試橋的作用,是連接Android手機與PC端的橋梁,方便我們在電腦上對手機進行操作。adb 命令可用於執行各種設備操作,如安裝和調試應用。 點擊下載adb工具 AD ...
  • 支持日語假名註音的JpTextView 支持自動換行 支持自動寬高 支持一次標記或者總是標記 網上找了一下,發現沒有類型的輪子,就自己造了一個 源碼:https://github.com/toukomine/JpTextView 引入依賴 代碼已上傳 mavenCentral倉庫,在項目根目錄的bu ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 前言 我以前很喜歡封裝組件,什麼東西不喜歡別人的,總喜歡自己搞搞,這讓人很有成就感,雖然是重覆造輪子,但是能從無聊的crud業務中暫時解脫出來,對我來說也算是一種休息,相信有很多人跟我一樣有這個習慣。 這種習慣在獨立開發時無所謂,畢竟沒人 ...
  • react腳手架配置代理總結 方法一 在 package.json 中追加如下配置 "proxy":"<http://localhost:5000>" 說明: 優點:配置簡單,前端請求資源時可以不加任何首碼。 缺點:不能配置多個代理。 工作方式:上述方式配置代理,當請求了3000不存在的資源時,那麼 ...
  • javaScript進階 一、作用域 JS的作用域簡單來說就是變數(變數作用於又稱上下文)和函數生效(能被訪問)的區域 1.全局作用域 函數之外聲明的變數,會成為全局變數。 變數在程式的任何地方都能被訪問,表示它是全局變數,window 對象的內置屬性都擁有全局作用域。 自動全局 如果您為尚未聲明的 ...
  • 環境安裝 一、node 1.為什麼需要node環境 Vue.js本質上就是一個Js庫,可以直接在頁面通過script標簽引用。這種使用方式只使用了VueJs的”構建用戶界面“,使用不了他的模塊化 Vue.js可以在html里直接引用後使用,等到與Vue一起配合使用的第三方應用的庫或框架多起來後,一個 ...
  • JavaScript 中的高階函數是一種接受函數作為輸入或返回函數作為輸出的函數。高階函數可以用於創建抽象概念,例如柯里化、組合和管道。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...