dポイントプレゼントキャンペーン実施中!

現在、以下の開発環境を構築しています。

OS:Windows XP SP2
データベース:PostgreSQL 8.1.4
C言語コンパイラ:LSI C-86 Ver 3.30
エディタ:CPad for LSI C-86 Version 2.31
libpqライブラリ、ヘッダファイル取得元:
http://www.interwiz.koganei.tokyo.jp/software/Po …

データベースの作成、操作を正常に行えることを確認しています。
また、C言語によるテストモジュール(printf()関数によるHello world等
の文字出力、DB接続処理は無し)の作成が行えることも確認済です。

これらの確認が済んだ後に、以下の手順を行いました。

・取得したlibpqライブラリを
(コンパイラ配置フォルダ配下)\LIB\S
ディレクトリ配下にlibpqdll.libを配置。

・コンパイラの_LCCファイルに-llibpqdllを追記。
(-Lオプションで(コンパイラ配置フォルダ配下)\LIBが
指定されているのを確認済)

・コンパイラの_LCCファイルで、-Iオプションで指定したディレクトリに
postgres_ext.h、libpq-fe.hを配置。


そこで、PQsetdbLogin()関数とPQfinish()関数を用いた
DB接続テスト用ソースコードhoge.cを作成し、エディタ経由でコンパイルをした
ところ、
以下のエラーが発生しました。

(コンパイラ配置フォルダ配下)\LIB/s/libpqdll.lib: Not a library file
hoge.obj(hoge.c): Undefined symbol: PQfinish_
hoge.obj(hoge.c): Undefined symbol: PQsetdbLogin_
(コンパイラ配置フォルダ配下)\LIB/s/libpqdll.lib: Not a library file

エラーの原因は、ライブラリファイルが認識されないことと推測していますが、
何故、認識されないのかが分かりません。

ご教授お願い致します。

A 回答 (1件)

そもそも不可能です。


libpqdll.lib は Win32用
LSI C-86 は DOS(i8086)用
    • good
    • 0
この回答へのお礼

ご教授いただき、ありがとうございます。
ご指摘いただいたlibpqdll.libとLSI C-86の違いについては、
双方に関するヘルプなどの文面を見ても分かりませんでしたが、
少なくとも、これらの組み合わせでは使えないことは分かりました。

お礼日時:2006/11/18 16:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!