MSVC編譯KDChart過程

MSVC編譯KDChart過程

一、下載KDChart源文件

GitHub源文件

查看文件夾里的INSTALL.txt,可以看到需要CMake編譯。

中文版

以下是使用 CMake 構建系統安裝 KD Chart 的說明。
需要 CMake 3.3 或更高版本。Qt 版本支持:* KD Chart 2.5.0 及以下版本需要 Qt4* KD Chart 2.5.1 至 2.7.2 版本需要 Qt4 到 Qt5.15* KD Chart 2.8.x 移除了 Qt4 支持(即僅支持 Qt5)* KD Chart 3.0 及以上版本需要 Qt5.15.0 到 Qt6.x(如果需要舊版 Qt5 支持,請聯系 info@kdab.com)另請注意,使用 Qt6 構建需要支持 C++17 的編譯器,
而使用 Qt5 構建支持 C++11 即可。請查看 CMakeLists.txt 文件頂部的注釋,
了解可傳遞給 cmake 的可用配置選項。安裝目錄在 Windows 上默認為 c:\KDAB\KDChart-<version>,
在非 Windows 系統上默認為 /usr/local/KDAB/KDChart-<version>。 你可以通過向 cmake 傳遞選項 -DCMAKE_INSTALL_PREFIX=/install/path 來更改此位置。1) 從 KD Chart 安裝的頂級目錄創建一個構建目錄:mkdir build然后進入該構建目錄:cd build2) 現在根據構建類型運行以下 'cmake' 命令之一:cmake -DCMAKE_BUILD_TYPE=Debug ..cmake -DCMAKE_BUILD_TYPE=Release ..cmake -DKDChart_STATIC=True -DCMAKE_BUILD_TYPE=Debug ..cmake -DKDChart_STATIC=True -DCMAKE_BUILD_TYPE=Release ..若要指定安裝位置,可參考以下示例:cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=C:/kdchart ..cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/kdchart ..3) Unix設置 LD_LIBRARY_PATH 指向 KD Chart 安裝的 lib 目錄。如果你還沒有設置 LD_LIBRARY_PATH,可在終端中運行:% LD_LIBRARY_PATH=/path/to/kdchart/lib:$LD_LIBRARY_PATH% export LD_LIBRARY_PATH必須將上述命令添加到你的 .bashrc 或類似文件中才能永久生效。當然,你也可以在使用 KD Reports 構建軟件之前在 shell 中運行這些命令,但這種情況下設置僅在當前 shell 中有效。4) MacOS操作步驟同上,但使用 DYLD_LIBRARY_PATH 代替 LD_LIBRARY_PATH5) Windows若要運行可執行文件,將 KD Chart dll 文件所在路徑(kdchart\bin)添加到 PATH 環境變量中。例如:set PATH=\path\to\kdchart\bin;%PATH%若要進行開發,將 KD Chart lib 文件所在路徑(kdchart\lib)添加到 LIB 環境變量中。例如:set LIB=\path\to\kdchart\lib;%LIB%6) 輸入以下命令構建所有內容:從 KD Chart 頂級目錄運行:% make    # Unix, Mac% nmake   # Windows7) (可選)安裝 KD Chart:從 KD Reports 頂級目錄運行:% make install   # Unix, Mac% nmake install  # Windows這會將必要的文件復制到安裝路徑的子目錄中:對于 Unix/Linux、Mac:/usr/local/KDAB/KDChart-VERSION/對于 Windows:C:\KDAB\KDChart-VERSION\8) 查看示例應用程序。它們將幫助你開始使用 KD Chart。== 測試 ==
若要構建測試工具,請向 CMake 傳遞 -DKDChart_TESTS=true 參數,如下所示:% cmake -DKDChart_TESTS=true然后運行 'make test' 來執行單元測試。== 使用 ==
在你的 CMake 項目中添加以下內容find_package(KDChart CONFIG REQUIRED)如果使用 Qt6,則添加find_package(KDChart-qt6 CONFIG REQUIRED)并鏈接到導入目標 KDChart::kdchart。
這就是你需要做的全部操作(導入目標還會包含頭文件目錄)你可能還需要根據 KDChart 的安裝位置設置 CMAKE_PREFIX_PATH 環境變量。

二、下載安裝CMake

注意:

如果使用Qt6.x 編譯,可以不用安裝,Qt6自帶CMake,還不用配置!(直接看 Qt6.x 編譯KDChart `)

https://cmake.org/download/

三、編譯

1.填寫源文件目錄和build文件夾目錄

在這里插入圖片描述

2.Configure配置項目工程

在這里插入圖片描述

3.等待報錯

1.Could not find a package configuration file provided by “Qt6”
移除KDChart_QT6選擇

在這里插入圖片描述

自定義輸出目錄(注意C盤有權限問題)

在這里插入圖片描述

根據需求可以構建例子

在這里插入圖片描述

記得此次點擊Configure

2. string no output variable specified 未指定輸出變量

在這里插入圖片描述

src/CMakeList.txt 491行

在這里插入圖片描述

情況一:CMAKE 里面找 CMAKE_BUILD_TYPE

情況二:如果沒有找到 Add Entry
在這里插入圖片描述

沒有找到則添加

在這里插入圖片描述

輸入需要構建模式

在這里插入圖片描述

記得此次點擊Configure

還有錯看:

1.KDChart3.0編譯過程-使用QT5.15及QT6.x編譯

2.KDChart2.8編譯過程-使用VS+CMake-MSVC2017

4.生成

1. 配置Generate

在這里插入圖片描述

2. 打開.sln

或者 使用Open Project

在這里插入圖片描述

在這里插入圖片描述

右鍵ALL_BUILD->生成

堆空間不足錯誤:多生成幾次,或者查

“EntryDialog::~EntryDialog”: 不能定義編譯器生成的特殊成員函數(必須首先在類中聲明)

在這里插入圖片描述

添加聲明

常量中有換行符

在這里插入圖片描述

使用SmartCharsetConverter批量轉換

一般不會出現這種情況,我的是因為使用AI添加的中文注釋

在這里插入圖片描述
在這里插入圖片描述

3.ALL_BUILD生成沒問題,右鍵INSTALL->生成
NSTALL失敗

CMake Error at src/cmake_install.cmake:36 (file):
file INSTALL cannot find
/build/src/KDChart/kdgantt.h": No error.

在這里插入圖片描述

在這里插入圖片描述

error MSB3073: 命令“setlocal
error MSB3073: E:\WorkTool\CMake-4.0.0\bin\cmake.exe -DBUILD_TYPE=Debug -P cmake_install.cmake
error MSB3073: if %errorlevel% neq 0 goto :cmEnd
error MSB3073: :cmEnd
error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
error MSB3073: :cmErrorLevel
error MSB3073: exit /b %1
error MSB3073: :cmDone
error MSB3073: if %errorlevel% neq 0 goto :VCEnd
error MSB3073: :VCEnd”已退出,代碼為 1。

在這里插入圖片描述

解決方案在src/CMakeLists.txt 的 196 行 添加
# Adding the following line of code will solve the “file INSTALL cannot find build/src/KDChart/kdgantt.h” problem.
configure_file("${CMAKE_CURRENT_BINARY_DIR}/KDChart/KDGantt" "${CMAKE_CURRENT_BINARY_DIR}/KDChart/kdgantt.h" COPYONLY)

在這里插入圖片描述

保存后,直接右鍵INSTALL->生成


寫文章截止時間是2025-07-30 22:00:00

最新解決方案請查看


5.測試

這最后有測試例子教程

在build/bin/Debug挑一個

使用 windeployqt.exe xxxx.exe 打包一下庫

最新解決方案請查看


5.測試

這最后有測試例子教程

在build/bin/Debug挑一個

使用 windeployqt.exe xxxx.exe 打包一下庫

在這里插入圖片描述

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

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

相關文章

AI Agent管理后臺原型設計全拆解(附3套可復用素材)

最近在做AI方向的產品&#xff0c;越來越能感受到“智能體”這個概念正在從技術圈走向應用層。無論是內部探索項目&#xff0c;還是外部合作需求&#xff0c;很多場景都會提到Agent、助手、知識庫這些關鍵詞。我們經常討論如何打造一個有用的AI Agent&#xff0c;但實際上&…

ABP VNext + Elastic APM:微服務性能監控

ABP VNext Elastic APM&#xff1a;微服務性能監控 &#x1f680; &#x1f4da;目錄ABP VNext Elastic APM&#xff1a;微服務性能監控 &#x1f680;一、引言 ?架構全景圖 &#x1f3d7;?二、環境與依賴 &#x1f4e6;三、APM 服務器與 Kibana 快速部署 &#x1f433;Doc…

單片機學習筆記.AD/DA(略含有SPI,用的是普中開發板上的XPT2046芯片)

AD/DA基礎知識 硬件電路&#xff1a; 模電運放知識回顧&#xff1a; 虛短&#xff08;Virtual Short&#xff09;定義&#xff1a;運放同相輸入端&#xff08;&#xff09;和反相輸入端&#xff08;-&#xff09;的電位近似相等&#xff0c;即V V-&#xff0c;仿佛兩個輸入端短…

避坑指南:VMware安裝CentOS常見錯誤及完美解決方案

1. 引言 虛擬機允許在同一臺機子上有不同的操作系統&#xff0c;還可以用于搭建實驗環境、軟件測試和兼容性測試等。我是主攻大數據方向的會用到Linux操作系統&#xff0c;所以虛擬機對我來說是很有必要的。我把之前的筆記和安裝包整理了一下&#xff0c;就有了現在這個教程。…

Python爬蟲04_Requests豆瓣電影爬取

一、 爬取豆瓣電影排行榜數據 import requests import json url ‘https://movie.douban.com/j/chart/top_list’ param { ‘type’:‘24’, ‘interval_id’:‘100:90’, ‘action’:‘’, ‘start’:‘0’, #從庫中的第幾部電影去取 ‘limit’:‘20’, } headers { ‘Use…

工業物聯網模塊運營指南?

一、運營目標 工業物聯網模塊運營的核心目標在于通過高效運作,實現提高工業設備運行效率、降低生產成本、推動生產過程智能化管理,進而提升企業的整體競爭力。這一目標是后續所有運營工作的出發點和落腳點,為各項運營環節提供方向指引。 二、關鍵運營環節及做法 (一)設…

9.項目起步(3)

1項目起步-靜態資源初始化 和 Error Lens 安裝圖片資源和樣式資源error lens 安裝2項目起步-scss文件自動導入為什么要自動導入自動導入配置scss變量自動導入$xtxColor: #27ba9b; $helpColor: #e26237; $sucColor: #1dc779; $warnColor: #ffb302; $priceColor: #cf4444;css: {p…

MCP提示詞工程:上下文注入的藝術與科學

MCP提示詞工程&#xff1a;上下文注入的藝術與科學 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般絢爛的技術棧中&#xff0c;我是那個永不停歇的色彩收集者。 &#x1f98b; 每一個優化都是我培育的花朵&#xff0c;每一個特性都是我放飛的蝴蝶…

字節跳動GR-3:可泛化、支持長序列復雜操作任務的機器人操作大模型(技術報告解讀)

1.總結 GR-3 是一個大規模的視覺 - 語言 - 動作&#xff08;VLA&#xff09;模型。它對新物體、新環境以及含抽象概念的新指令展現出較好的泛化能力。此外&#xff0c;GR-3 支持少量人類軌跡數據的高效微調&#xff0c;可快速且經濟地適應新任務。GR-3 在處理長周期和靈巧性任…

713. 乘積小于 K 的子數組

中等 給你一個整數數組 nums 和一個整數 k &#xff0c;請你返回子數組內所有元素的乘積嚴格小于 k 的連續子數組的數目。 示例 1&#xff1a; 輸入&#xff1a;nums [10,5,2,6], k 100 輸出&#xff1a;8 解釋&#xff1a;8 個乘積小于 100 的子數組分別為&#xff1a;[10…

【算法】 SM2、FSRS、SuperMemo算法實現艾賓浩斯記憶曲線,通過以上算法你也可以開發出單詞記憶軟件

有那些算法可以實現艾賓浩斯單詞記憶 用戶: 有那些算法可以實現艾賓浩斯單詞記憶 元寶: 以下是基于 艾賓浩斯遺忘曲線 的智能記憶算法實現方案&#xff0c;結合 間隔重復算法 與 現代機器學習技術&#xff0c;提供從理論到實踐的完整解決方案&#xff1a; 一、核心算法原理 1. …

SQL167 連續簽到領金幣

SQL167 連續簽到領金幣 題目描述 用戶行為日志表 tb_user_log iduidartical_idin_timeout_timesign_in110102021-07-07 10:00:002021-07-07 10:00:091210102021-07-08 10:00:002021-07-08 10:00:091310102021-07-09 10:00:002021-07-09 10:00:42141010 2021-07-10 10:00:00 …

PHP性能優化與高并發處理:從基礎到高級實踐

引言 在當今高流量的互聯網環境中,PHP應用的性能優化變得至關重要。本文將全面探討PHP性能優化的各個層面,從基礎優化技巧到高級并發處理方案,幫助開發者構建高性能的PHP應用。 基礎性能優化 OPcache配置優化 ; php.ini 推薦OPcache配置 [opcache] opcache.enable=1 opc…

C++ std::map erase() 和迭代器詳解:常見面試陷阱與深入理解

在使用 C 的 std::map 時&#xff0c;配合 erase() 和迭代器的使用是一個經典面試點&#xff0c;也是實際開發中經常出錯的地方。本文將深入講解 erase() 的行為、end() 的本質以及迭代器失效規則&#xff0c;幫助你寫出更健壯的代碼。1. erase(it) 的行為當你使用 erase(it) 刪…

求職招聘小程序源碼搭建招聘小程序開發定制人力資源系統

身份&#xff1a;求職者、企業求職者&#xff1a;完善簡歷&#xff0c;簡歷投遞企業&#xff1a;企業入駐&#xff0c;查看簡歷企業會員&#xff1a;半年 、年度 權益&#xff1a;每日發布條數、刷新條數&#xff0c;簡歷下載數量聊天&#xff1a;求職者可以和企業聊天招聘會…

【31】C# WinForm入門到精通 ——保存文件SaveFileDialog 【屬性、方法、事件、實例、源碼】

WinForm 是 Windows Form 的簡稱&#xff0c;是基于 .NET Framework 平臺的客戶端&#xff08;PC軟件&#xff09;開發技術&#xff0c;是 C# 語言中的一個重要應用。 .NET 提供了大量 Windows 風格的控件和事件&#xff0c;可以直接拿來使用。 本專欄內容是按照標題序號逐漸…

socket網絡編程(1)

socket網絡編程&#xff08;1&#xff09; 設計echo server進行接口使用 生成的Makefile文件如下 .PHONY:all all:udpclient udpserverudpclient:UdpClient.ccg -o $ $^ -stdc17 -static udpserver:UdpServer.ccg -o $ $^ -stdc17.PHONY:clean clean:rm -f udpclient udpserver…

數據集:機器學習的基石

三、數據集&#xff1a;機器學習的基石1. sklearn 玩具數據集&#xff1a;快速入門的理想選擇1.1 玩具數據集的特點與價值sklearn 內置的玩具數據集&#xff08;Toy Datasets&#xff09;是機器學習入門的絕佳資源。這類數據集通常具有以下特點&#xff1a;數據量小&#xff1a…

SQL排查、分析海量數據以及鎖機制

1. SQL排查 1.1 慢查詢日志: mysql提供的一種日志記錄, 用戶記錄MySQL中響應時間超過閾值的SQL語句(long_query_time, 默認10秒), 慢查詢日志默認是關閉的, 建議開發調優時打開, 最終部署的時候關閉 1.1.1 檢查是否開啟了慢查詢日志 show variables like %slow_query_log%;臨…

conda 安裝prokka教程

本章教程,記錄如何在wsl2+ubuntu下載通過conda安裝prokka軟件包。 Prokka 是一個快速的、功能強大的基因組注釋工具,特別適用于細菌基因組的注釋。它能夠自動化完成從基因組序列到功能注釋的整個流程,包括基因的識別、功能預測和注釋,并且支持多種文件格式輸出,廣泛應用于…