Windows環境でのvcpkgセットアップとCMake・Visual Studioプロジェクトへの統合手順

vcpkgの取得と初期ビルド まず、vcpkgのリポジトリをクローンし、実行ファイルをビルドします。環境の再現性を高めるため、特定のリリースタグにチェックアウトすることを推奨します。 git clone https://github.com/microsoft/vcpkg.git cd vcpkg git checkout 2025.03.19 PowerShellを開き、ブートストラップスクリプトを実行してvcpkg本体をコンパイルします。正常に完 ...

10月4日 05:23 投稿

Ubuntu 22.04 および ROS2 Humble 環境における YDLIDAR Tmini Pro の初期化手順

前提条件と環境準備 本手順では、Ubuntu 22.04 LTS上に構築済みの ROS2 Humble 環境に対し、YDLIDAR Tmini Pro LiDAR センサーのドライバーおよび SDK を組み込む方法を説明します。開発作業を開始する前に、以下の環境が整っていることを確認してください。 オペレーティングシステム:Ubuntu 22.04 ロボットミドルウェア:ROS2 Humble Hawksbill 開発ツールチェーン:G ...

10月2日 03:28 投稿

ESP32_IDF環境の理解と導入

最近、STM32を学んでいて、周囲の人々にESP32を使用してもらいましたが、ESP32には公式なIDEがないため、多くの人がどのように始めるのかわからなかったのです。 この記事では、STM32の視点からESP32の環境について解説し、STM32と同じようにESP32を開発・学ぶ方法を教えます。 STM32とESP32の環境は異なります。STM32はKeilなどの統合開発環境(IDE)で開発・コンパイル ...

9月21日 07:57 投稿

Windows環境におけるCMakeとMinGW-w64を用いたC/C++ビルド環境の構築

CMakeの導入とパス設定 Windows上でC/C++のビルドシステムを構築する際、CMakeはメタビルドツールとして不可欠です。公式サイトからWindows用のx64インストーラーを取得し、セットアップウィザードを進めます。インストールオプション画面では、Add CMake to the system PATH for all usersを必ず選択します。これにより、システム全体の環境変数にCMakeの実行パスが自動登 ...

8月26日 02:18 投稿

Wiresharkのクロスプラットフォームビルドキャッシュ最適化:CMakeキャッシュ管理完全ガイド

CMakeキャッシュ管理によるWiresharkビルド効率の向上 Wiresharkは強力なネットワークプロトコル分析ツールですが、そのクロスプラットフォームビルドプロセスは複雑な依存関係と長いコンパイル時間により、開発者にとって課題となることがあります。この記事では、CMakeキャッシュメカニズムがWiresharkビルドにどのように貢献するかを解説し、キャッシュ管理の実践的な手 ...

8月15日 08:55 投稿

CMakeにおける変数スコープとビルド設定の詳細解説

変数のスコープと継承 CMakeにおける変数の扱いでは、スコープ(有効範囲)の理解が不可欠です。特に、サブディレクトリや関数をまたいで値を共有する場合には明示的な指定が必要です。 サブディレクトリ間の伝播: add_subdirectory() で呼び出された子CMakeLists.txtから親のスコープへ変数を書き込みたい場合、set() コマンドに PARENT_SCOPE オプションを付加する必要 ...

8月6日 20:23 投稿

CMakeによるQt6プロジェクトビルドエラーの解決方法

CMake Error at project_gui/CMakeLists.txt:15 (find_package): Could not find a package configuration file provided by "QT" with any of the following names: Qt6Config.cmake qt6-config.cmake Qt5Config.cmake qt5-config.cmake Add the installation prefix of "QT" to CMAKE_PREFIX_PATH or set "QT_DIR&quot ...

8月5日 19:36 投稿

Vulkanの低レイヤーAPI実装と最適化ガイド

日本語のグラフィックスプログラミング資料は限られており、英語リソースが主流です。ソフトウェアレンダリングを実装した後、光ラスタライゼーションの理解が深まります。ソフトレンダリングとソフトレイトライティングの習得がグラフィックス開発の基礎となります。 Vulkanの学習には線形代数の基礎知識が必須です。OpenGLはブラックボックスで詳細な最適化が困難ですが ...

8月4日 17:32 投稿

ROS C++ Python プロジェクト構築とエラーログ

1. 複数のmain関数によるコンパイルエラー C++プロジェクトで複数のソースファイルにmain関数が存在する場合、リンカーエラーが発生します。ROSノードの構築では、各実行ファイルに対して1つのmain関数のみを許容します。 解決方法 各ノードを個別に分離してビルド CMakeLists.txtで明示的にソースファイルを指定 cmake_minimum_required(VERSION 3.0.2) project(vehic ...

8月4日 16:37 投稿

NAPIモジュール開発におけるIDE活用(RAMパッケージ方式)

はじめに 前回の記事「NAPIによるサードパーティライブラリ移植(1)—Hello OpenHarmony NAPI」ではROMパッケージ型のNAPIプロジェクトを構築し、C++のダイナミックライブラリをシステムROMに組み込む方法を紹介しました。今回は同じ機能を備えたhellonapi.cppとindex.etsを用いて、IDE(DevEco Studio)を使ってRAMパッケージ方式のNAPIプロジェクトを構築する方法を解説 ...

7月21日 02:33 投稿