はじめに
Windows8.1+Visual Studio 2015 CommunityでOracle Pro*cファイルをビルドする方法をまとめました。
秀和システム
売り上げランキング: 157,936
環境
- Windows 8.1
- Visual Studio 2015 Community
- Oracle Database 12c Release 1 Client (12.1.0.1.0) for Microsoft Windows (32-bit)
事前準備
事前にOracle Clientをインストールしてください。
この記事では、以下のパスにOracle Clientをインストールした場合として説明します。
Oracleインストールディレクトリ | C:\app\client\replication\product\12.1.0\client_1 |
Visual Studio 2015でPro*cファイルをビルドする
1.Visual Studioを起動して、新規C++プロジェクトを作成します。
プロジェクトの種類 | テンプレート |
Win32 | Win32コンソールアプリケーション |
2.Win32アプリケーションウィザードで「次へ」ボタンをクリックします。
3.アプリケーションの設定で、「プリコンパイル済みヘッダー(P)」のチェックを外し、「完了」ボタンをクリックします。
4.cppファイルの拡張子をcpp→pcへと変更します。pcファイルに記述する内容は後述します。
5.空のcファイルを登録します。ソースファイルフォルダを右クリックして、追加(D)→新しい項目(W)を選択します。
C++ファイル(.cpp)を選択し、ファイル名欄の拡張子を(.c)に変更してから「追加(A)」ボタンをクリックします。
カテゴリ | テンプレート |
コード | C++ファイル(.cpp) |
6.Oracleのインクルードファイルを追加します。ソリューションのプロパティを開き、「追加のインクルードディレクトリ」に以下を指定します。
追加のインクルードディレクトリ | Oracle Clientのインストールディレクトリ\precomp\public |
7.コンパイル言語をC++ではなく、Cソースしてコンパイルするよう変更します。ソリューションのプロパティを開き、C/C++→詳細→「コンパイル言語の選択」に以下を指定します。
8.追加のライブラリディレクトリを登録します。ソリューションのプロパティを開き、リンカ→全般→「追加のライブラリディレクトリ」に以下を指定します。
追加のライブラリディレクトリ | Oracle Clientのインストールディレクトリ\precomp\LIB |
9.追加の依存ファイルを登録します。ソリューションのプロパティを開き、リンカ→入力→「追加の依存ファイル」に以下を指定します。
追加の依存ファイル | orasql12.lib |
10.pcファイルにカスタムビルドを設定します。
pcファイルを右クリックしてプロパティを開きます。カスタムビルドステップを選択し、以下を指定します。
コマンドライン | proc %(Filename).pc |
出力ファイル | %(Filename).c |
ビルドしてみる
メニューからビルド(B)→ソリューションのビルド(R)を選択します。
ビルドログにprocコマンドの実行ログが出力されていることを確認します。
1>------ すべてのリビルド開始: プロジェクト:ConsoleApplication1, 構成:Debug Win32 ------
1> Performing Custom Build Tools
1>
1> Pro*C/C++: Release 12.1.0.1.0 - Production on 日 8月 2 23:42:52 2015
1>
1> Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
1>
1> システムのデフォルト・オプション値: C:\app\client\replication\product\12.1.0\client_1\precomp\admin\pcscfg.cfg
1>
1> ConsoleApplication1.c
1> stdafx.cpp
1> ConsoleApplication1.vcxproj -> c:\users\replication\documents\visual studio 2015\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
procコマンドが正常に実行されると、新規追加したcファイルの中にソースコードが吐き出されます。