Cygwin なんでも掲示板

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

No.587  Re[2]:cygwinのライブラリを利用するVCアプリ
発言者: S.Taka
発言日: 2002 09/10 01:54
 
ご返信ありがとうございます

>私も詳しくないのですが、Cygwinのgccで普通にコンパイル・リンクしたa.outは実行時にcygwin1.dllを必要とします。

>a.outでなく.dllを作成したときどうなるかを調べて見られてはいかがでしょうか?

す、すいません。ちょっとわかりませんでした。
dllを作成したときどうなるか、とはgccで作成したDLLをさらにリンクするDLLをVCで作成してみよ。ということでしょうか?

# cygwin環境の /bin をWindows風パスにしたものは、実行時のPATH変数に入っていますよね?

すみません。ちょっと今確認できる環境にいないのでわかりませんが、VCのデバッガでcygwin1.dllがメモリにロードされていることは確認できているのでcygwin1.dll等のcygwin関連のファイルへのPATHは通っていると思います。

>あるいは、gcc -mno-cygwin は試してみられましたか?

はい。質問が舌足らずでしたが、gcc -mno-cygwinは試してうまくいっています。しかし、cygwinのXlibが使いたいのでcygwin1.dllをリンクする必要があります。


背景について全然お話していませんでした。
やりたいのは、PC-UNIX等で動くWindowsエミュレータWineをWindows上で動かしたいということです。

これができると何がうれしいかというと、WineはWin32APIをXlibを使用してエミュレートするのでWindowsアプリケーションをX上に表示することができます。そうなればcygwinのX上でWindowsアプリケーションとの連携作業もやりやすくなるし、Linux等からExcelやIEをLinux上にインストールせずともリモートで利用できるということです。(ライセンス的によいかは調べる必要がありますが)

それで、いきさつとしては、
1. WineをビルドするにはPosixエミュレートしているcygwinが適しているだろう。
      ↓
2. でもmakeが通らない。 (TT)
 . cygwinでWineをビルドするにはかなり大変そうだ。
      ↓
3. いや、まてよ。Wineをすべてビルドする必要があるのか?
kernel32.dll等エミュレートする必要がないものがほとんどだ。
user32.dllとgdi32.dllとおそらくcomctl32.dll、comdlg32.dllぐらいさえコンパイルできればAPIフックのテクニックを利用して目的が達成できるのではないか?
      ↓
4. ひとまず、user32.dll等のDLLを作成して、MSDN
等のサンプルプログラムから利用してみよう。
      ↓
5. でもその前に、cygwinのgccで作成するDLLがVCで利用できるのか試してみよう。
      ↓
6. 動かない。ショック !

というわけで、このような質問をさせていただきました。

しかし、このような質問をしているようでは実現は
遠そうですね…

長々と失礼いたしました。


▼関連発言

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