Borland C++CompilerとCPad for Borland C++Compilerをつかってdllを作ろうとしているのですが、
コンパイルがうまく行きません。
------------------------------<Dio32c.c>------------------------------
#include "jni.h"
#include <stdio.h>
#include <conio.h>
JNIEXPORT long JNICALL
Java_IO32_InpB(JNIEnv *env, jobject obj, long port)
{return _inp(port);
}
JNIEXPORT void JNICALL
Java_IO32_OutB(JNIEnv *env, jobject obj, long port, long data)
{_outp(port, data);
return;
}
----------------------------------------------------------------------
というプログラムに対し、コンパイル時パラメータを「-WD」と指定してコンパイルすると、以下のメッセージが返ってきちゃいます。
----------------------------------------------------------------------
■C:\My Documents\C> bcc32 -WD Dio32jc.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Dio32jc.c:
==<警告文は字数制限のため割愛させていただきました。by taropoo>==
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル '__inp' が未解決(C:\MY DOCUMENTS\C\DIO32JC.OBJ が参照)
Error: 外部シンボル '__outp' が未解決(C:\MY DOCUMENTS\C\DIO32JC.OBJ が参照)
----------------------------------------------------------------------
どなたか、原因&対策、分かりませんでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
エラーメッセージは、「_inp(),_outp()の関数の本体がない」という意味です。
Borland C は、もっていないので、具体的に指摘できませんが、ライブラリのコマンド(tlink.exe,link.exeなど)を使って、コンパイラのライブラリファイル(*.lib)を調べて、_inp,_outp が入っているライブラリファイルをリンクするようにしてやれば、解決します。
まずは、マニュアルで、inp() 標準関数のページを探しましょう。
ただし、お使いのコンパイラが「Borland C++ 5.5.1 for Win32」なので、気になっていますが、WinNT,2000などでは、直接のIO関数(inp,outp)は使えないと思います。
Win95,98,ME ならOK(のはず)です。
この回答への補足
tlink.exe,link.exeは見つかりませんでした。
ilink32.exeと言うのはあるのですが関係あるのでしょうか?
コンパイラのライブラリファイル(*.lib)の調べ方もちょっと分かりません。
ヘルプにはinp()の項目はありませんでした。
も少し具体的に教えていただけますでしょうか?
ちなみにOSはWin98です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンパイルエラー:ユーザ定義...
-
VBAを何回も作り直して、容量が...
-
c言語 文字列の比較
-
1 つ以上の複数回定義されてい...
-
マクロ コンパイルがグレーバック
-
” OS ビルド ” の意味が分か...
-
C言語のコンパイルができません
-
こちらのプログラム #include <...
-
Fortranについて教えてください
-
C++コンパイル時に『 C1083: in...
-
Borland C++でdirectXのサンプル
-
複数ファイルに分割した時の構...
-
外部シンボル "_main"は未解決です
-
VB6で開発中…標準モジュール間...
-
<math.h>があるのにsqrtが・...
-
Makefile作成時の拡張子.oとは?
-
「fatal error C1189」を回避す...
-
CUDAのプログラムを実行できません
-
cmakeは何をするのですか? cma...
-
cygwinのgccが、エラーになって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
Makefile作成時の拡張子.oとは?
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
ILSpyで、デコンパイルできない。
-
” OS ビルド ” の意味が分か...
-
外部シンボル "_main"は未解決です
-
セミコロンについて
-
C++コンパイル時に『 C1083: in...
-
マクロ コンパイルがグレーバック
-
[c++] <pthread.h>がinclude で...
-
コンパイルエラー:ユーザ定義...
-
ビルドとリビルドの違いを教え...
-
クリティカルエラー Expressio...
-
sys/types.hの必要性について
-
【VC++6.0(MFC)】警告「LINK : ...
-
PRO*C コンパイルエラー
おすすめ情報