■51841 / inTopicNo.1) |
cygwinで作成したdllをVisualStudioで利用 |
□投稿者/ デザパタ (17回)-(2010/07/22(Thu) 11:50:24)
|
分類:[C/C++]
2010/07/22(Thu) 11:54:27 編集(投稿者)
いつもお世話になっています。
Winanthyのようなanthyを利用したWindowsアプリを作成したいと考えています。 すでにWinanthyがあるじゃないかと意見はもっともですが、いくつかの勉強を兼ねていますのでそっとしといてください。 cygwinで作成したdllをVisualStudio(のCコンパイラ)で利用したいと考えています。 Winanthy(http://www.kmc.gr.jp/proj/winanthy/)のプログラム内に収められている cyganthy-0.dllとかです。
http://www.sixnine.net/cygwin/translation/faq/faq_3.html#SEC99 を参考にlibファイルを作成し、リンクすることはできましたが、実行時にエラーが出ます。 エラーの詳細はつかめていません。 リンク先の関数を呼ぶとtidtable.cでアクセス違反が起きます。 作成しているプログラムではthreadを使っています。
考えられる原因があれば教えてください。そもそもこのような手法は不可能なのでしょうか。 よろしくお願いします。
確認していること。 ・impdef cyganthy-0.def cyganthy-0.dll でdll→def作成(def内で関数名が出力されていることを確認しました) ・lib /DEF:cyganthy-0.deff /MACHINE:X86 /out:cyganthy-0.lib でlibを作成しました。 ・プロジェクトファイルのあるフォルダにlibを配置 ・プロジェクトのプロパティ→構成プロパティ→リンカ→入力→追加の依存ファイルに$(InputDir)\cyganthy-0.libを追加 ・コンパイル及びリンクできることを確認 ・cyganthy-0.dllやcygwin1.dllをプロジェクトフォルダに配置 (どこに配置すればよいか迷ったので、念のため、パスの通ったシステムフォルダ、実行ファイルのあるフォルダ、プロジェクトファイルのあるフォルダなど全てに上記dllを配置)
#分類を修正しました
|
|