コンテンツにスキップ

HelloWorld プロジェクトの作成

Visual Studio を使用して C++ コンソール アプリケーションを新規作成し、ZIP ファイルとして配布された INFINICAM SDK (PUCLIB) のパス設定を行って GbE-2(Ethernetモデル)の情報を取得する基本プログラムを作成します。

  1. Visual Studio プロジェクトの新規作成

    1. Visual Studio を起動し、「新しいプロジェクトの作成」 を選択します。
    2. テンプレート一覧から 「コンソール アプリ」 (C++ / Windows / コンソール) を選択して 「次へ」 をクリックします。
    3. プロジェクト名(例: GbE2_HelloWorld)を入力し、「作成」 をクリックします。
  2. ビルド構成を x64 に変更

    画面上部のツールバーにあるプラットフォーム設定を x86 から x64 に変更します。

  3. インクルードパス(C/C++)の設定

    解凍した SDK 内のヘッダーファイル (.h) を読み込むためのパスを追加します。

    1. 画面右側のソリューション エクスプローラーで、プロジェクト名を右クリック >「プロパティ」 を開きます。
    2. 構成を 「すべての構成」、プラットフォームを 「x64」 に設定します。
    3. 左ツリーから 「C/C++」>「全般」 を選択します。
    4. 右側の 「追加のインクルード ディレクトリ」 に、解凍した include フォルダのパスを追加します。
      C:\infinicam_sdk\include
  4. ライブラリパス(リンカー)の設定

    SDK のライブラリファイル (.lib) を読み込む設定を行います。

    1. プロパティ画面の左ツリーから 「リンカー」>「全般」 を選択します。
    2. 「追加のライブラリ ディレクトリ」 に、解凍した lib\x64 フォルダのパスを追加します。
      C:\infinicam_sdk\lib\x64
    3. 次に左ツリーから 「リンカー」>「入力」 を選択します。
    4. 「追加の依存ファイル」 の先頭に puclib.lib; を追記します。
    5. 「適用」 > 「OK」 を押してプロパティ画面を閉じます。
  5. ソースコードの記述

    メインファイル(GbE2_HelloWorld.cpp など)を開き、以下のコードに書き換えます。

    #include <stdio.h>
    #include <stdlib.h>
    #include <PUCLIB.h> // PUCLIB ヘッダーの読み込み
    int main() {
    printf("INFINICAM GbE-2 初期化中...\n");
    // 1. SDKの初期化
    PUCRESULT ret = PUC_Initialize();
    if (ret != PUC_SUCCEEDED) {
    printf("エラー: SDKの初期化に失敗しました。ErrorCode: %d\n", ret);
    return EXIT_FAILURE;
    }
    // 2. ネットワーク上の GbE-2 デバイスを検索
    PUC_DETECT_FILTER filter = { 0 };
    filter.nDeviceTypeFlags = PUC_DETECT_TARGET_HAWK; // GbE-2 デバイスを対象に指定
    PUC_DETECT_INFO detectInfo = { 0 };
    ret = PUC_DetectDevice2(&filter, &detectInfo);
    if (ret != PUC_SUCCEEDED || detectInfo.nDeviceCount == 0) {
    printf("エラー: GbE-2 カメラが見つかりませんでした。ErrorCode: %d\n", ret);
    return EXIT_FAILURE;
    }
    printf("GbE-2 カメラを検出しました。(検出台数: %d)\n", detectInfo.nDeviceCount);
    // 3. 検出した最初のデバイスをオープン
    PUC_HANDLE hDevice = NULL;
    ret = PUC_OpenDevice2(0, &hDevice);
    if (ret != PUC_SUCCEEDED) {
    printf("エラー: デバイスのオープンに失敗しました。ErrorCode: %d\n", ret);
    return EXIT_FAILURE;
    }
    printf("SUCCESS: GbE-2 が正常にオープンされました!\n");
    // 4. カメラ情報の取得例
    UINT64 serialNo = 0;
    if (PUC_GetSerialNo(hDevice, &serialNo) == PUC_SUCCEEDED) {
    printf("シリアルナンバー: %llu\n", serialNo);
    }
    UINT32 version = 0;
    if (PUC_GetDeviceVersion(hDevice, &version) == PUC_SUCCEEDED) {
    printf("デバイスバージョン: %u\n", version);
    }
    // 5. デバイスのクローズ
    PUC_CloseDevice(hDevice);
    return EXIT_SUCCESS;
    }
  6. 実行用 DLL の配置と実行

    1. Ctrl + Shift + B を押してプロジェクトをビルドします。
    2. SDK 解凍先の bin\x64\ 内にある puclib.dll(および付属の関連 DLL)を、ビルドによって生成された .exe と同じフォルダ(x64/Debug や x64/Release)にコピーして配置します。
    3. PC と GbE-2 を Ethernet ケーブルで接続し、ネットワーク設定(IPアドレス等)を合わせた状態で Ctrl + F5(デバッグなしで開始)を押して実行します。コンソール画面にシリアルナンバーが表示されれば成功です!