さて、かなり時間がかかりましたが、ようやくすべてを理解できました。これが地勢図のようです。
- FLTK 1.3.0 はヘッダー ファイルと互換性がありますが、graph.cpp を実行するには小さな変更が必要です。
- FLTK 1.1.10 は Visual Express 2010 では正しくビルドされませんが、2008 バージョンでは動作します。
- ヘッダー ファイルは両方で機能しますが、Graph.cpp を機能させるには小さな変更を加える必要があります。
これらすべてを機能させるために私が持っていたすべての欲求不満の後、同様の状況にある可能性のある人々のために段階的なガイドを作成することは公正だと思います. この本は初心者のプログラマーを対象としており、ヘッダーと cpp ファイルを既にデバッグできる人は対象としていません。解決策が少し長いことをお詫びしますが、私のようにそれに直面する可能性が高い人にのみ適していると思います.
Visual Express 2008 / 2010 ガイド
1) FLTK をビルドします。思ったほど簡単ではありませんが、それほど悪くはありません。2008 年には FLTK 1.1.0 を使用します。2010 年には 1.3.0 を使用します。
2010 については、私がここに書いた解決策を参照してください – Microsoft 2010 visual c 、FLTK のインストール
2008 の場合は、代わりに C:\fltk-1.1.10\vc2005\fltk.lib.vcproj を実行します。
ビルド プロセス中にエラーが発生した場合は、問題の原因を突き止める必要があります。
2) 新しいプロジェクトを設定する
- 2010 の場合は、上記のガイドに従ってください
- 2008 年の場合 – 基本的には同じアイデアですが、いくつかの変更があります
- 1.3.0 のすべての参照を 1.1.10 に変更してください。
- 入力セクションでは、.lib ファイルをセミコロンで区切る代わりに ; 代わりにスペースを使用すると、リンカ>入力>追加の依存関係は次のようになります c:\fltk-1.1.10\lib\fltk.lib wsock32.lib comctl32.lib c:\fltk-1.1.10\lib\fltkjpeg. lib c:\fltk-1.1.10\lib\fltkimages.lib
3) テスト プログラムを実行して、FLTK が適切に動作していることを確認します。
#include <FL/Fl.h>
#include <FL/Fl_Window.h>
int main()
{
Fl_Window win(320,200);
win.show();
return Fl::run();
}
ここでエラーが発生すると、先に進むことができません。
4)彼の Web サイトのファイルを適切なフォルダに入れます。
- 2008 年の場合、headertest という名前のプロジェクトで -
- C:\Users\User\Documents\Visual Studio 2008\Projects\headertest\ put std_lib_facilities.h here
- C:\Users\User\Documents\Visual Studio 2008\Projects\headertest\headertest\ 彼の Web サイトの他のすべての .cpp および .h ファイルをここに配置します。もちろん、headertest.cpp および .h (必要な場合) は次のようになります。ここで作成。
- 上記のガイドの手順に従って、プロジェクトが正しく設定されていることを確認してください。
- 2010 年の場合、Fri_FLTK_Test という名前のプロジェクトで -
- 上記と同じことを行いますが、ファイルを 2010 の同等の C:\Users\User\Documents\Visual Studio 2008\Projects\headertest および ..Visual Studio 2010\Projects\Fri_FLTK_Test\Fri_FLTK_Test に配置します。
5) アクティブなプロジェクトに .h および .cpp ファイルを追加します。
- プロジェクト add>Existing Items を右クリックするだけで、デフォルト ディレクトリにあるすべての .h および.cpp ファイルを選択できます。..\std_lib_facilities.h を追加する必要はありません。すでにこれを直接参照しているためです。理由は聞かないでください。
6) プロジェクトを実行すると、多くのエラーが発生することがわかります。最も重要な読み取りは -
c:\users\user\documents\visual studio 2010\projects\fri_fltk_test\graph.cpp(237): エラー C2084: 関数 'Graph_lib::Circle::Circle(Point,int)' には既に本体があります
7) Graph.cpp を開き、Circle::Circle セクションを次のようにコメントアウトすることで、これを修正できます。
//Circle::Circle(Point p, int rr) // center and radius
//:r(rr)
//{
// add(Point(p.x-r,p.y-r)); // store top-left corner
//}
8) 変更を保存し、プロジェクトを再度実行すると、機能することがわかるはずです! 9) ここで、本からコードを挿入します (または、Chapter13/chapter.13.2.cppからコピーして実行します! 動作するはずです)。
作戦完了!
その後、ビールを飲む価値があると思います!Msys、 g++ 、Netbeans、およびその他の IDE 関連のものを調べて、すべてを理解するのにかなりの時間を費やしました。しかし、それが私の最初の選択に働いているのはいい感じです. このガイドが、同様の状況にある他の人に役立つことを願っています。
この問題について、Dream.In.Code フォーラムの Skydiver に協力していただき、特に感謝しています。