eightban's memo

残しておきたい記事をまとめてみました。このブログに書いてあるドキュメントやブログで配布しているファイルの使用によって発生するいかなる損害に対してもこのブログの管理者は責任を負いません。使用する場合は自己責任のもとに使用してください。

C++

cmake の簡単な使い方 / Windows環境(Visual Studio 2022)

更新日:

Microsoft C++ Build Tools のダウンロード インストール

https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/

zlib-1.3.1をビルドしてみる例

GitHub - madler/zlib: A massively spiffy yet delicately unobtrusive compression library.

zlib Home Site

インストールとビルド

CMakeのビルドでは、ConfigureとGenerateという2つの作業を行います。Configureはビルドに必要な情報を収集し、Generateはプロジェクトファイルを生成します。

Generate a Project Buildsystem
 cmake [<options>] -B <path-to-build> [-S <path-to-source>]
 cmake [<options>] <path-to-source | path-to-existing-build>

Build a Project
 cmake --build <dir> [<options>] [-- <build-tool-options>]

cmake(1) — CMake 3.29.0-rc1 Documentation

"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
git clone https://github.com/madler/zlib
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

フォルダーを自動で作る方法

"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
git clone https://github.com/madler/zlib
cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -B build -S .
cmake --build build --config Release

MSBuild を使う方法

"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
git clone https://github.com/madler/zlib
cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -B build -S .
MSBuild .\build\zlib.sln /t:build /p:Configuration=Release;Platform="x64"

色々な例

cmake -G "Visual Studio 16 2019" -A x64
cmake --build . --target tools/
cmake -G "Ninja" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -B build -S .
cmake -G "Visual Studio 17 2022" -A "x64" -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -B build -S .
cmake ..\llvm -G "Visual Studio 17 2022" -A "x64" -DLLVM_ENABLE_PROJECTS=mlir -DLLVM_BUILD_EXAMPLES=ON -DLLVM_TARGETS_TO_BUILD="host" -DCMAKE_BUILD_TYPE=Release -Thost=x64 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DZLIB_INCLUDE_DIR="D:\WinPython\content\zlib-1.3.1" -DZLIB_LIBRARY="D:\WinPython\content\zlib-1.3.1\build\Release"

CMakeCache.txt CMakeFiles

Generate a Project Buildsystem の時に作成されます。再作成する時に消す必要があります

--fresh オプションをつけると再作成されます

cmake -G "Visual Studio 16 2019" -A x64 --fresh

CMakeLists.txt

このファイルを元にしてファイルが作成されます

cl : コマンド ライン error D8021: 数値型引数 '/Werror' は無効です。

cl コンパイラーでは無効なオプションですCMakeLists.txt の行をコメントにして回避します

/w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告レベル) | Microsoft Learn

#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-covered-switch-default ")

-C++

Copyright© eightban's memo , 2024 All Rights Reserved Powered by STINGER.