7-打包安裝程序

??? 接下來假設我們想要將我們的項目分發給其他人,以便他們可以使用它。我們希望在各種平臺上提供二進制和源代碼發行版。這與我們之前在安裝和測試中所做的安裝略有不同,在安裝中我們安裝了從源代碼構建的二進制文件。在本例中,我們將構建支持二進制安裝和包管理特性的安裝包。為此,我們將使用CPack來創建特定于平臺的安裝程序。具體來說,我們需要在頂級CMakeLists.txt文件的底部添加幾行。

// CMakeLists.txt
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
set(CPACK_GENERATOR "TGZ")
set(CPACK_SOURCE_GENERATOR "TGZ")
include(CPack)

??? InstallRequiredSystemLibraries模塊將包含當前平臺上項目所需的任何運行時需要的庫。接下來,我們將一些CPack變量設置到存儲此項目的許可證和版本信息的位置。本教程前面設置了版本信息,并且License.txt已包含在此步驟的頂級源代碼目錄中。CPACK_GENERATOR和CPACK_SOURCE_GENERATOR變量分別選擇用于二進制和源代碼安裝的生成器。

??? 最后,我們將包括CPack模塊,它將使用這些變量和當前系統的一些其他屬性來設置安裝程序。
??? 下一步是以編譯并運行cpack可執行文件。要構建一個二進制發行版,從二進制目錄運行:

cpack

??? 要指定二進制生成器,請使用-G選項。對于多配置構建,使用-C來指定配置。例如:

cpack -G ZIP -C Debug

??? 要創建完整源代碼結構的備份,您可以輸入:

cpack --config CPackSourceConfig.cmake

??? 或者,運行make package構建項目。
??? 運行二進制目錄中的安裝程序。然后運行已安裝的可執行文件并驗證它是否有效。

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

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

相關文章

C# 構造函數依賴注入 使用out向外傳遞參數

天真目前解決方法 天真 using System;namespace forCode20191 {class Program {static void Main(string[] args) {bool flag false;Tmp tt new Tmp(out flag);Console.WriteLine(flag); // 將輸出 falsett.Doit();Console.WriteLine(flag); // 將輸出 trueConsole.ReadKey(…

“DDoS攻擊的最新防御策略:從檢測到緩解的全方位方案“

DDoS攻擊的最新防御策略 DDoS攻擊(分布式拒絕服務攻擊)是網絡安全領域的重大威脅,它通過大量的惡意流量淹沒目標服務器或網絡,導致服務不可用。為了有效防御DDoS攻擊,最新的策略強調從檢測到緩解的全方位方案。 多層防…

深度學習的數學PDF

鏈接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取碼: 9gj9 復制這段內容后打開百度網盤手機App,操作更方便哦

【蒼穹外賣】Day2 手把手敲完細節

目錄 1. 新增員工 1.1 需求分析和設計 1.2 代碼開發 ①定義DTO類:(在sky-pojo里) ②EmployeeController中創建新增員工方法save() ③EmployeeService里聲明save方法(altenter) ④EmployeeServiceImpl中實現save方法 ⑤在E…

頂刊文獻閱讀及代碼復現

前提:每個無人機都有 (i)自己的機載計算機,用于執行控制其自身動作所需的計算 (ii)自己的傳感器系統,用于測量相對位置和速度, (iii)自己的通信設備,用于與相鄰代理進行數據交換。 模型:短期的排斥力、中間范圍的速度一致性和長距離的吸引力

通過PLC地址來切換威綸通觸摸屏界面

Step 1 元件-PLC控制 Step 2 新增 選擇設備 選擇切換基本窗口功能 選擇觸發地址 Step 3 離線仿真測試 在數值框中輸入對應的頁面號 可以看到頁面可以正常切換 分享創作不易,請多多支持,點贊、收藏、關注! Ending~

昇思Mindspore25天學習打卡Day20:DCGAN生成漫畫頭像

昇思Mindspore25天學習打卡Day20:DCGAN生成漫畫頭像 1 GAN基礎原理2 DCGAN原理3 數據準備與處理數據處理 4 構造網絡4.1 生成器4.2 判別器 5 模型訓練損失函數優化器訓練模型 6 結果展示7 訓練結束打上標簽和時間 在下面的教程中,我們將通過示例代碼說明…

為什么裁員先裁技術人員?網友給答復

網友1:技術崗本身就是項目制的,項目完成,后續項目運營的收益與技術無關。之前是項目多,所以收益持續走高,現在都在減項目,自然先減技術崗。 網友2:房子蓋起來了,還需要農民工么? …

基于STM主題模型的主題提取分析-完整代碼數據

直接看結果: 代碼: import re from collections import defaultdict import random import matplotlib.pyplot as plt import numpy as npimport pandas as pd import numpy as np import re from sklearn.feature_extraction.text import CountVectorizer from nltk.corpus…

在Morelogin中使用IPXProxy海外代理IP的設置指南

Morelogin指紋瀏覽器是市場上較受歡迎的指紋瀏覽器,允許用戶管理多個賬號并進行自動化操作。它提供免費環境供用戶進行體驗,并且操作起來非常簡單。大多數人都會將Morelogin指紋瀏覽器和海外代理IP進行使用,來應用于多種場景,如電…

用ce修改植物大戰僵尸雜交版銀幣

第一步打開游戲 用ce打開圖中進程 第二步 輸入你原始銀幣 點首次搜索 第三步 找到這個地址 把地址拖下來 第四步 雙擊直接修改下面數值即可 金幣 鉆石 都和這個方法一樣 不一樣的是首次搜索可能會有很多地址 我們改變游戲里面的值 然后再次搜索游戲被改變的值即可準確找到地址

MySQL中字段的實際長度

在MySQL中,字段的實際長度(即存儲數據的實際字節數)可能因數據類型和存儲的具體內容而異。對于字符類型(如CHAR, VARCHAR, TEXT等)字段,實際長度取決于存儲的字符串長度以及字符集的編碼方式(如…

新加坡工作和生活指北:租房篇

本文首發于公眾號 Keegan小鋼 前段時間已經分享了工作篇,現在接著聊聊生活篇。因為生活這塊涉及到多個方面,內容比較多,所以我再細分了一下,本篇先聊聊租房。 先來看看新加坡的地區分布圖,如下: 上圖將新加…

使用Python繪制累積直方圖并分析數據

使用Python繪制累積直方圖并分析數據 在這篇博客中,我們將探討如何使用Python中的pandas庫和matplotlib庫來繪制累積直方圖,并分析數據文件中的內容。累積直方圖是一種常用的圖表類型,用于展示數據的累積分布情況。 數據: 鏈接…

(C++鏈表01) 移除鏈表元素

203、移除鏈表元素 不帶頭節點 class Solution { public:ListNode* removeElements(ListNode* head, int val) {while(head ! NULL && head->val val) {ListNode* tem head;head head->next;delete tem;}ListNode* cur head;while(cur ! NULL && c…

LDA算法進行相似性分析

import gensim from gensim import corpora from gensim.models import LdaModel from gensim.matutils import cossim import nltk from nltk.corpus import stopwords from nltk.tokenize import word_tokenize import string# 如果您尚未下載nltk的停用詞列表,請…

使用sklearn的基本流程

scikit-learn,通常簡稱為 sklearn,是一個開源的Python庫,是基于 Python 編程語言的一個非常流行的機器學習庫。它建立在 NumPy 和 SciPy 這兩個科學計算庫之上,并與 Matplotlib 配合使用,為數據預處理、模型訓練、評估…

Atom編輯器插件Minimap使用樣例

Atom編輯器插件Minimap是一個強大的工具,它為開發者提供了快速、直觀的代碼預覽功能。以下是Minimap的使用樣例和一些關鍵特性的介紹: 1. 安裝Minimap 首先,你需要在Atom編輯器中安裝Minimap插件。這通常可以通過Atom的插件市場&#xff08…

vue緩存頁面,當tab切換時保留原有的查詢條件

需求: 切換tab時,查詢條件不變 路由頁面: 單個頁面上加這句話:

bert-base-chinese模型離線使用案例

import torch import torch.nn as nn from transformers import BertModel, BertTokenizer# 通過torch.hub(pytorch中專注于遷移學的工具)獲得已經訓練好的bert-base-chinese模型 # model torch.hub.load(huggingface/pytorch-transformers, model, bert-base-chinese) model…