HelloWorld プロジェクトの作成
Visual Studio を使用して C++ コンソール アプリケーションを新規作成し、ZIP ファイルとして配布された INFINICAM SDK (PUCLIB) のパス設定を行って GbE-2(Ethernetモデル)の情報を取得する基本プログラムを作成します。
-
Visual Studio プロジェクトの新規作成
- Visual Studio を起動し、「新しいプロジェクトの作成」 を選択します。
- テンプレート一覧から 「コンソール アプリ」 (C++ / Windows / コンソール) を選択して 「次へ」 をクリックします。
- プロジェクト名(例:
GbE2_HelloWorld)を入力し、「作成」 をクリックします。
-
ビルド構成を x64 に変更
画面上部のツールバーにあるプラットフォーム設定を
x86からx64に変更します。 -
インクルードパス(C/C++)の設定
解凍した SDK 内のヘッダーファイル (
.h) を読み込むためのパスを追加します。- 画面右側のソリューション エクスプローラーで、プロジェクト名を右クリック >「プロパティ」 を開きます。
- 構成を 「すべての構成」、プラットフォームを 「x64」 に設定します。
- 左ツリーから 「C/C++」>「全般」 を選択します。
- 右側の 「追加のインクルード ディレクトリ」 に、解凍した
includeフォルダのパスを追加します。C:\infinicam_sdk\include
-
ライブラリパス(リンカー)の設定
SDK のライブラリファイル (
.lib) を読み込む設定を行います。- プロパティ画面の左ツリーから 「リンカー」>「全般」 を選択します。
- 「追加のライブラリ ディレクトリ」 に、解凍した
lib\x64フォルダのパスを追加します。C:\infinicam_sdk\lib\x64 - 次に左ツリーから 「リンカー」>「入力」 を選択します。
- 「追加の依存ファイル」 の先頭に
puclib.lib;を追記します。 - 「適用」 > 「OK」 を押してプロパティ画面を閉じます。
-
ソースコードの記述
メインファイル(
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;} -
実行用 DLL の配置と実行
Ctrl+Shift+Bを押してプロジェクトをビルドします。- SDK 解凍先の
bin\x64\内にあるpuclib.dll(および付属の関連 DLL)を、ビルドによって生成された.exeと同じフォルダ(x64/Debugやx64/Release)にコピーして配置します。 - PC と GbE-2 を Ethernet ケーブルで接続し、ネットワーク設定(IPアドレス等)を合わせた状態で
Ctrl+F5(デバッグなしで開始)を押して実行します。コンソール画面にシリアルナンバーが表示されれば成功です!
