• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VS2010でLibHaruをビルドしたいのですが)

VS2010でLibHaruをビルドする方法は?

このQ&Aのポイント
  • VS2010で利用できないDLLが配布されているLibHaruをビルドする方法について教えてください。
  • LibHaruでコンパイルエラーが発生しています。エラーの内容は「heightの構造体が未定義である」というものです。
  • 最終的にはVS2010でコンパイルしたDLLをVS2010環境のC#で開発したプログラムに組み込みたいです。どなたかビルド方法を教えてください。

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

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

No.2です. どうしても出来ないというので,第一段階だけはお教えします. とは言っても,これはほとんどドキュメント通りなのですが. 1.必要なDLLをダウンロードします. libharu-2.1.0-vc8-x86.zip 2.C#インターフェースを手に入れます. 「libHaru 2.0.8 - Win32 DLL」に同梱のものか,最新のlibHaru 2.3.0RC2内 3.使い方を確認します. if\c#内のREADME.c#ファイルをメモ帳で開きます.  ・ libhpdf.dll を if\c#\demo内に入れろと書いてある.  ・ コンパイルの仕方が書いてある 4.DLLをif\c#\demo内に入れます. ただし,2.0.8であればlibhpdf.dllだけですが, 2.1.0はその他にもう2つDLLが入っているので, 2.1.0を使用する場合は,計3つとも入れる 5. VisualStudio コマンドプロンプトを起動します. プログラムメニューのVisual Studio Tools内 6.作業ディレクトリに移動します. cdコマンドで,自分が配置した if\c#\demoへ. 7. コンパイルします. READMEに書かれている通り,cscから始まるコマンドを実行します. その結果,実行ファイルが作成されます. 8. 実行ファイルを実行します. この結果,PDFファイルが生成されます. ※もし間違ったフォーマット云々と表示される場合は, 32bitのDLLを64bitでコンパイルしているということだから 「7」のコンパイル時に, /platform:x86 オプションをつけて 32bit用としてコンパイルする. ------------- 以上で,とりあえず,付属のサンプルコードは試せるはずです.

その他の回答 (2)

回答No.2

他の人の回答の補足部分を見たけど, C#からなら,使えましたよ? いま,libHaruをC#で容易に使えるように,ラッパーライブラリを作成している途中ですが. ただ,同梱のC#インターフェースのいくつかは, 誤りがあったりしましたけどね. ネットで検索して,海外のどこかのサイトで,それらしきことを見つけて直しました.

albinopengin
質問者

お礼

C#から利用できる事を確認して頂き有難うございます. また,同梱のインタフェースに誤りがある点もご指摘頂き有難うございます. ですが,御解答頂いてから数日間,自力で解決を試みましたが, おっしゃっている海外サイト等に辿り着く事が出来ず… というか,どこが誤りなのかすらわからず(英語はGoogle翻訳に依存しています), 完全に手詰まりの状態になります. 誠に厚かましい話ではありますが, 配布されているDLLを参照して同梱のLineDemo等のサンプルを実行する方法について, 詳しい資料等御座いましたらお教え願えますでしょうか. どうかお力添えの程宜しくお願いいたします.

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>どなたか,LibHaruをVS2010でコンパイルする方法について,ご教示願えませんでしょうか. に対する回答ではありませんが……。 >PDFの作成を可能とする無料のライブラリであるLibHaruを利用したいのですが, >配布されているDLLは開発環境のVS2010で利用できませんでした. どのように利用できないことを確認されたのでしょうか? libharu-2.1.0-vc8-x86.zipを展開して、VS2010EEで必要な設定(インクルードパス/ライブラリパスの指定と追加のライブラリにlibhpdf.libを指定)し、 ソースファイルに下記を追加。 #include <hpdf.h> HPDF_Doc PdfDoc; _tWinMain()に下記を追加。 PdfDoc = HPDF_New(NULL, NULL); で、実行するとPdfDocに値が入ります。 # lib_dllディレクトリに入っていたファイルをソリューションの実行ファイルが格納されるディレクトリにコピーしています。 # Windows\System32ディレクトリにコピーでもよかったのかも知れませんが……。 実際にPDFファイルを出力する。というところまではやっていないので、この後で問題になっている……んでしょうかね。 アーカイブファイル名的に…VS2005でビルドされたDLL…でしょうかねぇ……。 VS2005のランタイムが必要かも知れません。 # Dependency Walkerで確認すると…libpng13.dllとzlib.dllがMSVCR80.DLLを必要としています。 # http://www.microsoft.com/ja-jp/download/details.aspx?id=3387 からDLしてインストール後、Microsoft Updateすれば動作するんじゃないでしょうか。

albinopengin
質問者

補足

>どのように利用できないことを確認されたのでしょうか? まず,配布されているC#サンプルを利用した所, DLLのImport部でエラーが出ました. 次に,DLLをプロジェクトの参照機能で追加しようとしたところ, 以前にVS2008?でコンパイルしたDLLをVS2010で参照しようとした時と同様のエラーが出ましたので, バージョン違いによる異常と判断しておりました. どうも自分の知識・スキル不足によるバインドの失敗の疑いがありますので, ご教示頂いた方法で再度バインドを確認させていただこうと存じます.

関連するQ&A

専門家に質問してみよう