• ベストアンサー

ボーランドC++でのDLL作成トラブル

いつものように、ボーランド社のコンパイラでdllを作成しましたが、以下のエラーが出ます。 C:\implib a.dll a.lib Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation Error a.lib: unknown file type コンパイル直後には、容量が10k以上のファイルになっているのですが、暫くすると、1kになっています。コンパイラが不調なのですが、原因は何でしょう?

  • teo98
  • お礼率27% (68/244)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

a.dll がよくわかりませんが >C:\implib a.dll a.lib C:\implib a.lib a.dll だと思います

参考URL:
http://www.ecoop.net/coop/tips/dll.html#DLLonBCC

その他の回答 (1)

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

> ボーランド社のコンパイラでdllを作成しましたが implibは「dllを作成」するものではなく、「dllからlibを作成」するものだと認識していたが、違うのだろうか。 http://www.kcat.zaq.ne.jp/takao/documents/bcb/09_directx.html

関連するQ&A

  • C++言語でのライブラリファイルの作成と使用法

    よろしくお願いします。 C言語において、例えばMinGWのCコンパイラのLibディレクトリには、拡張子が「.a」のライブラリファイルがたくさん存在しています。これらは、arコマンドで ar crv libMine.a 1.o 2.o のように作成されるものだと認識しています。 一方、C++言語において、例えばBorlandのC++コンパイラのLibディレクトリには、拡張子が「.lib」というライブラリファイルがたくさん存在します。 これらのファイブラリファイルは、C言語のaファイルと同じ役割をする考えてよいのでしょうか? また、C++において自作のライブラリファイル(libファイル)を作成するにはどうすればよいのでしょうか? 次に、C++における自作ライブラリの使用法についてですが、Cではコンパイル時に gcc -o 1.exe 1.c libMine.a のようにして、自作のライブラリファイルを使うことができますが C++のコンパイルコマンド、例えばbcc32コマンドを使ってコンパイルする時に、 自分が作成したlibファイルを使うにはどのようにすればよいのでしょうか? 最後に、Borland C++コンパイラをインストールするときに、Binディレクトリにあるbcc.cfgファイルに -L"c:\Borland\Bcc55\lib" と記述したのですが、これは、 c:\Borland\Bcc55\libにあるlibファイルをコンパイル時に自動的に読み込むということなのでしょうか?

  • ボーランド C++

    ボーランドのC/C++コンパイラーを使ってますが、ソースをコンパイルしたら3つファイルが作成されました。 ソースの名前がPROG4で新しく出来たのが、PROG4.obj, PROG4.tds,PROG4.BAKです。プログラムを実行するには どうしたらいいでしょうか?又この3つのプログラムは何をさしますか?

  • ボーランドのフリーソフトの使い方について

    ボーランドのフリーソフトの使い方について知りたいです。インストールは出来ました。(一応) 以下が説明書です。 コマンドラインツールのインストールと実行 ----------------------------------------------- 1. freecommandlinetools.exe を実行します。無料の C++Builder 5 コマンドラインツール開発システムをインストールしたいドライブと フォルダを選択します。 2. インストール先の bin ディレクトリで次の手順を実行します。 a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。 b. bcc32.cfg ファイルを作成します。このファイルは,Include および Lib パスのコンパイラオプション(コンパイラの -I および -L スイッチ)を設定するものです。ファイルには次の 行を含めてください。 -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" c. ilink32.cfg ファイルを作成します。このファイルは,Lib パスのリンカオプションを設定するものです。ファイルには 次の行を含めてください。 -L"c:\Borland\Bcc55\lib" 2のaまでは出来ました。bとcが何を言っているのかわかりません。どなたか教えてください。

  • C++のコンパイラについての質問

    ボーランドと呼ばれるサイトで配布されている、C++コンパイラについての質問なんですが ↓の文章を(説明から抜粋)読んでも何をすればいいのか 解らず困っています、誰か意味の解る人が居たら、回答  お願いします  2. インストール先の bin ディレクトリで次の手順を実行します。 a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。 b. bcc32.cfg ファイルを作成します。このファイルは,Include および Lib パスのコンパイラオプション(コンパイラの -I および -L スイッチ)を設定するものです。ファイルには次の 行を含めてください。 -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" c. ilink32.cfg ファイルを作成します。このファイルは,Lib パスのリンカオプションを設定するものです。ファイルには 次の行を含めてください。 -L"c:\Borland\Bcc55\lib"

  • Borland C++ Compiler

    学校のC言語の授業で使用するので、Borland C++ Compilerをインストールしました。 今までに作ったプログラムや、教科書に載っていたサンプルプログラムをコンパイルして軽い勉強をしていたのですが、コンパイルの際にエラーが出るようになりました。 コマンドプロンプトでbcc32と打つと、パラメータのリストのようなものが出てくるので、-nなど適当にパラメータをつけて実行したら以下のようなエラーが出るようになりました。 Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland test.c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) objとtdsファイルは出力されるのですが、exeが出力されません。 どうやったらなおるか、教えてください。

  • DLL内からの外部変数の参照

    BCC(フリーコンパイラ)で、WindowsAPIを使った プログラムを作成しています。その過程で、DLLを 作成しているのですが、 test.c を、 bcc32 -WD test.c とし、test.dllを作成しました。 さらにそれを、 implib test.lib test.dll で、test.libを作成ました。 ところが、おなじtest.cファイルで、ほかのファイル の変数を参照しようとして、extern HWND hWnd と書き加えたところ、bcc32 -WD で、参照先が見つか らないというエラーが起こり、DLLが作成できなく なってしまいました。 DLL内から外部の変数を参照するにはどうしたらよいで しょうか。この場合の外部の変数というのは、WinMain 関数のあるmain.cファイル内の静的変数です。 よろしくお願いいたします。

  • Borland C++ Builderによるdll作成について

    Borland C++ Builderを使用してプロジェクトをコンパイル してdllを作成する際、コンパイルに成功してあるdllができたとして、 その後プロジェクトに何の変更もなく、再コンパイルすると dllの中身は何か変わっているのでしょうか? 例えば、コンパイル日時の情報が中に書き込まれているなど。 サイズが変わることもあるのでしょうか?

  • C++のdllの作り方を教えてください。

    こんにちは。 先週、「UNIXのC++で共通クラスを作りたい。」って言う質問をした orange_pieと申します。 そのバージョンアップ質問として、作成した共通クラスをDLLにして みんなに提供したいのですが、コンパイルはアーカイブを作る時と どう違うのでしょうか? ちなみに、コンパイルした後でarコマンドを使ってアーカイブを作っていました。 % gcc -c aaa.cpp % ar -r libaaa.a aaa.o dllを作るには、ヘッダーファイルの記述に何か特別なものが必要ですか? また、できあがったdllを使う側では、ヘッダーファイルをインクルードして LIBパスの通ったところにdllを入れておけば良いのでしょうか? どなたか教えてください。

  • condefs.hはどこにあるの?

    #include <stdio.h> #include <windows.h> #ifdef __BORLANDC__ #include <condefs.h> #endif をヘッダに含むプログラムspitest.cppを無償コンパイラのボーランドC++5.5でコンパイルすると Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland spitest.cpp: エラー E2209 spitest.cpp 8: インクルードファイル 'condefs.h' をオープンできない *** 1 errors in Compile *** とエラーがでました。 どうしたらいいのでしょうか?

  • Borland C++5.51で

    8MB超のソース junk.cpp を bcc32 -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" -W -WM -VM junk としてコンパイルしようとしたら Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland junk.cpp: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Error detected (IMP302) Fatal: となりエラーになりました 8MBを切れば大丈夫だったのです IMP302とerrorで検索すると 外国に同じ問題でメーリングリストに質問しているものがあったのですが回答が得られていません 本人はリンク時エラーなのでソース分割すれば通る事は通るといっていました 分割が大変なソースなのでこのエラーをクリアしたいのですが解決策は無いのでしょうか?

専門家に質問してみよう