「C++の応用 - 最小二乗法」の版間の差分

ナビゲーションに移動 検索に移動
 
244行目: 244行目:
<br>
<br>


===== CMakeLists.txtを使用する場合 =====
<syntaxhighlight lang="cmake">
# Pkg-configを使用する場合
find_package(Eigen3 <Eigenライブラリのバージョン  例: 3.3> REQUIRED NO_MODULE)
# Pkg-configを使用しない場合 (Eigenライブラリのインクルードパスを直接指定)
# 例えば、Eigenライブラリを手動でダウンロードした場合は、EIGEN3_INCLUDE_DIRにパスを設定する
# set(EIGEN3_INCLUDE_DIR "<Eigenのインクルードディレクトリ>")
# include_directories(${EIGEN3_INCLUDE_DIR})
# Eigenライブラリとのリンク (find_packageを使用する場合)
# add_executableコマンドの後
target_link_libraries(${PROJECT_NAME} PRIVATE
    Eigen3::Eigen
)
# ビルド設定
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    # デバッグビルド設定
    add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_NAN)
    add_definitions(-DEIGEN_DEBUG)
endif()
# 最適化オプション
if(CMAKE_BUILD_TYPE STREQUAL "Release")
    add_definitions(-DNDEBUG)
    if(CMAKE_COMPILER_IS_GNUCXX)
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native")
    endif()
endif()
# OpenMPサポートを追加 (オプション)
# 行列演算の並列化に使用可能
# find_package(OpenMP)
# if(OpenMP_CXX_FOUND)
#    target_link_libraries(my_program OpenMP::OpenMP_CXX)
# endif()
</syntaxhighlight>
<br>
===== Eigenライブラリの使用例 =====
===== Eigenライブラリの使用例 =====
行列計算ライブラリであるEigenライブラリを使用することもできる。<br>
行列計算ライブラリであるEigenライブラリを使用することもできる。<br>

案内メニュー