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" ...
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 投稿
AWS IoTデバイスSDK C++ V2導入ガイド:よくあるトラブルと対処法
1. プロジェクト概要と使用言語
AWS IoT Device SDK for C++ V2は、デベロッパーがC++を用いてAWS IoT Coreとセキュアに通信するデバイスアプリケーションを構築できるように設計されたオープンソースライブラリです。このSDKはAWS Common Runtimeを基盤としており、多様なオペレーティングシステムやアーキテクチャに対応しています。MQTTプロトコルをサポートし、Device ...
7月12日 22:38 投稿
Criterionのクロスプラットフォーム互換性の深い分析:Linux、Windows、macOSでの完全サポート
Criterionのクロスプラットフォーム互換性の深い分析:Linux、Windows、macOSでの完全サポート
Criterionは21世紀向けのクロスプラットフォームCおよびC++ユニットテストフレームワークであり、現代的なソフトウェア開発要件に特化して設計されています。シンプルなAPI、豊富なアサーションライブラリ、詳細なテストレポートを提供しつつ、Linux、Windows、macOSの主要な3 ...
7月8日 16:35 投稿
VS Code での C++ 開発環境の構築
必須の拡張機能
以下の拡張機能を VS Code にインストールします。
インストール後は VS Code を再起動します。
CMake
C++
MinGW-w64
日本語 (簡体字)
MinGW-w64 のインストール
MinGW-w64 をダウンロードしてインストールします。
ダウンロードサイト:
https://sourceforge.net/projects/mingw-w64/files/
インストール時の選択肢:
SJLJ: 32/64 ビット両方で使用可能 ...
7月6日 01:33 投稿
メタボール可視化ライブラリの構造とビルド手順
このプロジェクトは、等値面(isosurface)を用いたメタボールの3D描画を実現する軽量C++ライブラリです。数理的に滑らかな「ブレンドされた球体」をグリッド上で評価し、Marching Cubes法などに基づくレンダリングパイプラインを提供します。
ディレクトリ構成の概要
metaballs/
├── CMakeLists.txt
├── README.md
├── include/
│ └── surface_generator.h
├── src/
│ ...
7月4日 16:09 投稿
CMake と Makefile による C++ ビルドの実践ガイド
CMake は Makefile を自動生成し、make コマンドでビルドできるようにするメタビルドシステムです。以下では、CMake の主要変数と基本的な書き方、そして手書き Makefile の最小構成を紹介します。
CMake が提供する代表的なディレクトリ変数
変数名意味
CMAKE_SOURCE_DIR最上位ソースディレクトリ
CMAKE_CURRENT_SOURCE_DIR現在処理中のソースディレクトリ(サブプロジ ...
7月2日 18:06 投稿