Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)

No.591  Re[2]:cygwinのライブラリを利用するVCアプリ
発言者: S.Taka
発言日: 2002 09/13 23:34
 
やまもとさん情報ありがとうございます。返事がおそくなってすみません。

>下記のDLL化の作成方法が間違っています。
>
>> [ビルドログ]
>>
>> $ gcc -shared testdll.c -o testdll.dll
>
>URLの記述は、相手に断りを入れてないので、記述できませんが
>googleで、下記の用語を全て入れて検索すれば、わかると思い
>ます。
>
>検索用語:DLL CygWin dlltool def

検索してみました。もしかして、日本語で検索した一番最初の結果であるProject HeavyMoonさんの
Cygwin ユーザーズガイド [DLL のビルドと利用]の
ことをおっしゃっているのでしょうか?

DLLを作成するのに以下の5つのコマンドが必要とのことですが

gcc -s -Wl,--base-file,mydll.base -o mydll.dll mydll.o -Wl,-e,_mydll_init@12
dlltool --base-file mydll.base --def mydll.def --output-exp mydll.exp --dllname mydll.dll
gcc -s -Wl,--base-file,mydll.base,mydll.exp -o mydll.dll mydll.o -Wl,-e,_mydll_init@12
dlltool --base-file mydll.base --def mydll.def --output-exp mydll.exp --dllname mydll.dll
gcc -Wl,mydll.exp -o mydll.dll mydll.o -Wl,-e,_mydll_init@12

mydllの部分をtestdllに置き換えてやってみましたが、
最近のcygwinのgccでは1つ目のコマンドで

$ gcc -s -Wl,--base-file,testdll.base -o testdll.dll testdll.o -Wl,-e,_testdll_init@12

/usr/lib/libcygwin.a(libcmain.o): In function `main':
/home/Administrator/cygwin-snapshot-20020903-1/BUILD/i686-pc-cygwin/winsup/cygwin/../../../../winsup/cygwin/lib/libcmain
.c:31: undefined reference to `WinMain@16'
collect2: ld returned 1 exit status

というエラーがでてしまいます。どうもこのやり方は昔のバージョンのやりかたのようで、最近のgccでは
-shared オプションで簡単にDLLが作成できるみたいです。
このことは、最新のCygwin User's Guide(www.cygwin.com/cygwin-ug-net/dll.html)に記述されています。


▼関連発言

579:cygwinのライブラリを利用するVCアプリ [S.Taka] 09/01
 ├586:Re:cygwinのライブラリを利用するVCアプリ [水口] 09/09
 │└587:Re[2]:cygwinのライブラリを利用するVCアプリ [S.Taka] 09/10
 │ └603:Re[3]:cygwinのライブラリを利用するVCアプリ [ken] 09/21
 │  └604:Re[4]:cygwinのライブラリを利用するVCアプリ [S.Taka] 09/24
 │   └994:Re[5]:cygwinのライブラリを利用するVCアプリ [S.Taka] 03/16 <
 ├588:Re:cygwinのライブラリを利用するVCアプリ [やまもと] 09/10
 │└591:Re[2]:cygwinのライブラリを利用するVCアプリ [S.Taka] 09/13
 ├592:Re:cygwinのライブラリを利用するVCアプリ [S.Taka] 09/13
 │└873:Re[2]:cygwinのライブラリを利用するVCアプリ [森] 12/27
 │ └886:Re[3]:cygwinのライブラリを利用するVCアプリ [S.Taka] 01/02
 └763:Re:cygwinのライブラリを利用するVCアプリ [FX33V] 11/27
  └887:Re[2]:cygwinのライブラリを利用するVCアプリ [S.Taka] 01/02
   └888:Re[3]:cygwinのライブラリを利用するVCアプリ [S.Taka] 01/03
    └896:Re[4]:cygwinのライブラリを利用するVCアプリ [FX33V] 01/06

Pass 保存

早田のホームページへ
CGIROOM