クライアントアプリケーションをコンパイル、およびリンクします。
■LinuxおよびSolarisでのコンパイルとリンク
プロセスモード版とスレッドモード版では、コンパイルオプションが異なります。なお、Linuxのコンパイルには、OSに含まれているコンパイラを使用してください。
クライアントアプリケーションをリンクする際には、以下のライブラリを使用します。
プロセスモード版:libapfwsccl_nt.so、libapfwcdr_nt.so、libapfwcommmessage.so
スレッドモード版:libapfwsccl.so、libapfwcdr.so、libapfwcommmessage.so
また、作成したクライアントアプリケーションに応じて使用するライブラリを追加してください。
コンパイルおよびリンクの例を示します。例では、以下のファイルおよびパスを使用しています。
クライアントアプリケーション:clientapl.c
IDLファイル:sample.idl
C言語クライアントソースファイル:sample_apfwsccl.c
C言語実行基盤インタフェース内部データ用ソースファイル:sample_apfwcdr.c
作成するオブジェクト名:libclientapl.so
インクルードファイルパス:/opt/FJSVibs/include
ライブラリパス:/opt/FJSVibs/lib
C言語クライアントソースファイル、およびクライアントアプリケーションのソースファイルは、同一ディレクトリに格納
(ヘッダファイルもソースファイルと同一ディレクトリに格納されていますので、インクルードファイルパス指定は“.”になります。)
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o clientapl.o clientapl.c % cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o sample_apfwsccl.o sample_apfwsccl.c % cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o sample_apfwcdr.o sample_apfwcdr.c % cc -G -xcode=pic32 -L/opt/FJSVibs/lib -lapfwsccl_nt -lapfwcdr_nt -lapfwcommmessage -o libclientapl.so clientapl.o sample_apfwsccl.o sample_apfwcdr.o |
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -D_REENTRANT -o clientapl.o clientapl.c % cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -D_REENTRANT -o sample_apfwsccl.o sample_apfwsccl.c % cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -D_REENTRANT -o sample_apfwcdr.o sample_apfwcdr.c % cc -G -D_REENTRANT -xcode=pic32 -lpthread -L/opt/FJSVibs/lib -lapfwsccl -lapfwcdr -lapfwcommmessage -o libclientapl.so clientapl.o sample_apfwsccl.o sample_apfwcdr.o |
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o clinetapl.o clientapl.c % gcc -c -I/opt/FJSVibs/include -I. -fPIC -o sample_apfwsccl.o sample_apfwsccl.c % gcc -c -I/opt/FJSVibs/include -I. -fPIC -o sample_apfwcdr.o sample_apfwcdr.c % gcc -shared -lnsl -fPIC -L/opt/FJSVibs/lib -lapfwsccl_nt -lapfwcdr_nt -lapfwcommmessage -o libclientapl.so clientapl.o sample_apfwsccl.o sample_apfwcdr.o |
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o clientapl.o clientapl.c % gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o sample_apfwsccl.o sample_apfwsccl.c % gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o sample_apfwcdr.o sample_apfwcdr.c % gcc -shared -lpthread -lnsl -fPIC -D_REENTRANT -L/opt/FJSVibs/lib -lapfwsccl -lapfwcdr -lapfwcommmessage -o libclientapl.so clientapl.o sample_apfwsccl.o sample_apfwcdr.o |
注意
Red Hat Enterprise Linux 5 (for Intel64)、またはRed Hat Enterprise Linux 6 (for Intel64)上でコンパイルする際は、gccコマンドに“-m32 -mtune=i386”オプションを指定する必要があります。
■Windowsでのコンパイルとリンク
Windowsの場合はVisual Studio 2005、Visual Studio 2008またはVisual Studio 2010を使用して、コンパイル、リンク、およびデバッグを行ってください。
インクルードファイルパスには、以下を指定してください。
インクルードファイルパス:[Interstageのインストールディレクトリ]\BAS\include
ライブラリパスには、以下を指定してください。
ライブラリパス:[Interstageのインストールディレクトリ]\BAS\lib
クライアントアプリケーションをリンクする際には、以下のライブラリを使用します。
スレッドモード版:libapfwsccl.lib、libapfwcdr.lib、libapfwcommmessage.lib
また、作成したクライアントアプリケーションに応じて使用するライブラリを追加してください。
コンパイルを実行する場合は、以下のオプションを設定してください。
カテゴリ | 項目 | 設定値(32bit) | 設定値(64bit) |
---|---|---|---|
コード生成 | 構造体メンバのアライメント | 4バイト | 8バイト |
使用するランタイム | マルチスレッド(DLL) | ||
最適化 |
| デフォルトを推奨 | |
プリプロセッサ | プリプロセッサの定義 | "APFW_WIN_BUILD","OM_PC","OM_WIN32_BUILD", | |
言語 | wchar_tビルトメイン型として扱う | いいえ | |
詳細 | 呼び出し規約 | _cdecl |
注1)“__STDC__”を設定することにより、Microsoft拡張機能を前提とする処理でコンパイルエラーが発生する場合があります。この場合、CORBAアプリケーション用の処理とMicrosoft拡張機能を前提とする処理のソースを分けて、Microsoft拡張機能を前提とする処理のソースの先頭に「#undef __STDC__」を追加する対処を行ってください。
注意
Visual Studio 2008を使用してコンパイル、リンクした場合は、実行環境にVisual C++ 2008 再頒布可能パッケージをインストールしてください。
Visual Studio 2010を使用してコンパイル、リンクした場合は、実行環境にVisual C++ 2010 再頒布可能パッケージをインストールしてください。