C言語による埋め込みSQLのソースファイルをecpgコマンドでプレコンパイルすると、C言語のソースが作成されます。作成されたC言語のソースを、Cコンパイラを利用してコンパイルします。
ecpg testproc.pgc
ポイント
拡張子が.pgcのソースをプレコンパイルすることで、拡張子が.cのC言語ソースが作成されます。
プレコンパイルにより出力されたC言語のアプリケーションのコンパイル時は、以下のオプションを指定します。
Linux/Solarisの場合
インクルードファイルとライブラリのパス
作成するアーキテクチャ | オプションの種類 | オプションの指定方法 |
---|---|---|
32ビット | インクルードファイルのパス | -I/opt/symfoclient32/include |
ライブラリのパス | -L/opt/symfoclient32/lib | |
64ビット | インクルードファイルのパス | -I/opt/symfoclient64/include |
ライブラリのパス | -L/opt/symfoclient64/lib |
C言語用ライブラリ
ライブラリの種類 | ライブラリ名 | 備考 |
---|---|---|
動的ライブラリ | libecpg.so | |
libpgtypes.so | pgtypesライブラリを使用する場合 | |
静的ライブラリ | libecpg.a | |
libpgtypes.a | pgtypesライブラリを使用する場合 |
注意
Solarisで64ビットアプリケーションを作成する場合、-m64または-xarch=v9の指定が必要です。ご利用のコンパイラが、Oracle Solaris Studio 12.2以降、および、Sun Studio 12の場合、-m64を指定します。Sun Studio 11、Sun Studio 10、および、Sun Studio 9の場合、-xarch=v9を指定します。
例
C言語ライブラリを動的リンクするアプリケーションのコンパイル例を説明します。
Linux 64ビットの場合
gcc -I/opt/symfoclient64/include -L/opt/symfoclient64/lib -lecpg -lpgtypes testproc.c -o testproc
Linux 32ビットの場合
gcc -I/opt/symfoclient32/include -L/opt/symfoclient32/lib -lecpg -lpgtypes testproc.c -o testproc
Solaris 64ビットの場合
cc -m64 -I/opt/symfoclient64/include -L/opt/symfoclient64/lib -lecpg -lpgtypes testproc.c -o testproc
または
cc -xarch=v9 -I/opt/symfoclient64/include -L/opt/symfoclient64/lib -lecpg -lpgtypes testproc.c -o testproc
Solaris 32ビットの場合
cc -I/opt/symfoclient32/include -L/opt/symfoclient32/lib -lecpg -lpgtypes testproc.c -o testproc
Windowsの場合
インクルードファイルとライブラリのパス
作成するアーキテクチャ | オプションの種類 | オプションの指定方法 |
---|---|---|
32ビット | インクルードファイルのパス |
|
ライブラリのパス |
| |
64ビット | インクルードファイルのパス | %ProgramFiles%\Fujitsu\symfoclient64\include |
ライブラリのパス | %ProgramFiles%\Fujitsu\symfoclient64\lib |
C言語用ライブラリ
ライブラリの種類 | ライブラリ名 | 備考 |
---|---|---|
リンク用ライブラリ | libecpg.lib | |
libpgtypes.lib | pgtypesライブラリを使用する場合 | |
動的ライブラリ | libecpg.dll | |
libpgtypes.dll | pgtypesライブラリを使用する場合 |
注意
Windows におけるlibecpgライブラリは、release かつ multithreadedのオプションで作成されています。本ライブラリに含まれるECPGdebug関数を用いる場合には、本ライブラリを使用するすべてのプログラムにおいて、releaseフラグかつmultithreadedフラグを使用してコンパイルしてください。このときに、libecpg.dllを用いる場合にはdynamicフラグ、libecpg.libを用いる場合にはstaticフラグを使用してください。
ECPGdebug関数については、“PostgreSQL文書”の“クライアントインターフェース”の“ライブラリ関数”を参照してください。
例
64ビット版のオペレーティングシステムで、32ビット版のアプリケーションをclコマンドを使用して、コンパイルする例です。
> SET LIB=%ProgramFiles(x86)%\Fujitsu\symfoclient32\lib;%LIB% > SET INCLUDE=%ProgramFiles(x86)%\Fujitsu\symfoclient32\include;%INCLUDE% > cl testproc.c libecpg.lib libpgtypes.lib