0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

libnoiseをVisualStudioで使う

Posted at

概要

libnoiseをVisualStudioで使おうとして詰まったのでメモ。

環境

  • Windows11
  • Microsoft Visual Studio Community 2019
    Version 16.11.10

手順

※公式サイトからのものは古いためコンパイルが面倒。
 ⇒以下のサイトを参考に、cmakeでx64コンパイルして使用

  1. 以下からCmake対応のlibnoiseを持ってくる

  1. Cmakeでコンパイル
    ※CmakeGUIを使用しています。

    1. Where is the source codeにCMakeLists.txtがあるフォルダを指定
      Untitled.png
    2. libnoise-master以下にbuildフォルダを作成
    3. Where is the build the binariesは、上で作成したフォルダを指定
    4. Configureボタンを押下
    5. Generateを押下し、Visual Studioのバージョン等を設定し実行
    6. buildフォルダにslnファイルができるため、それを開きbuildする
  2. libnoiseを使用したいVisualStudioのプロジェクトに.lib、.dll、headerを持ってくる

    1. プロジェクト以下にフォルダを作成し、必要なファイルを配置する。
       以下は例
    
    Project
      |-.sln
      |- x64
      |   |-Debug
      |      |-.exe
      |      |- noise.dll
      |-Venders
         |- libnoise
             |-bin
             |  |-noise.lib
             |- include
                |-noise
    
    
  3. VisualStudioとlibnoiseをリンク

    1. VisualStudioにて、プロジェクトのプロパティを開く
    2. 構成プロパティ⇒VC++ディレクトリ⇒全般⇒インクルードディレクトリにVenders/libnoise/includeのフォルダを追加
    3. ライブラリディレクトリにVenders/libnoise/binのフォルダを追加
    4. 構成プロパティ⇒リンカー⇒追加のライブラリディレクトリにVenders/libnoise/binのフォルダを追加
    5. 構成プロパティ⇒リンカー⇒入力⇒追加の依存ファイルにnoise.libを追加
    6. これで環境設定は終了

簡単なサンプルコードで動くか試してみる

公式チュートリアルのコードを拝借

#include <iostream>
#include <noise/noise.h>

using namespace noise;

int main (int argc, char** argv)
{
  module::Perlin myModule;
  double value = myModule.GetValue (1.25, 0.75, 0.50);
  std::cout << value << std::endl;
  return 0;
}

以下の結果が出力されれば成功!

0.686347
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?