1

私はプログラミング - C を使用した原則と実践に従おうとしていますが、これまでのところ気に入っています。先週の初めに、それ以上の進歩を止める問題にぶつかりました。FLTK をインストールする必要があります。

FLTK-1.3.0 のビルドと実行に成功した後 (他の質問/解決策を参照)、Stroustrup のヘッダー ファイルでは実行できないという問題に遭遇しました。バージョンの違いによるものだと思いますが、よくわかりません。

だから私は1.1を動かそうとしているところに戻ってきました。

MVC ++ 2010を使用して、彼のWebサイトからFLTK-1.1.10またはfltk-1.1.9をビルドできませんでした。

したがって、これは私たちを質問に導きます

1) MinGW/Msys を使用してビルドした場合、VC++ から実行できますか? 私は今のところ MinGW/Msys を理解しようとしてきましたが、ほとんど成功していません。まだ何も構築していません。

2) MinGW ビルドを実行できない場合、VC++ でビルドする方法はありますか?

私の理解では、ビルドすると FLTK ディレクトリにさらにファイルが作成され、それを使用できるようになります。-MinGW は VC++ とは異なるコンパイラを使用しており、それらはうまく連携しません。

このセクションで多くの時間を無駄にしたと感じていますが、良い学習体験です。血圧にはあまり良くないのかもしれません。

この時点で、私の主な選択肢は、別の IDE に移動することだと思います。エクリプスはなかなか良さそうです。しかし、私は VC++ から離れるのではなく、この問題を解決したいと思っています。

私の以前の投稿 ( Microsoft 2010 visual c 、 FLTK のインストール) では、コンパイル中に発生するエラーについて詳しく説明しています。

私はこの問題をよくグーグルで調べましたが、まだ本当の解決策を見つけていません。この投稿が、私自身と他の将来のプログラマーの問題を明確にすることを願っています。

4

2 に答える 2

1

さて、かなり時間がかかりましたが、ようやくすべてを理解できました。これが地勢図のようです。

  1. FLTK 1.3.0 はヘッダー ファイルと互換性がありますが、graph.cpp を実行するには小さな変更が必要です。
  2. FLTK 1.1.10 は Visual Express 2010 では正しくビルドされませんが、2008 バージョンでは動作します。
  3. ヘッダー ファイルは両方で機能しますが、Graph.cpp を機能させるには小さな変更を加える必要があります。

これらすべてを機能させるために私が持っていたすべての欲求不満の後、同様の状況にある可能性のある人々のために段階的なガイドを作成することは公正だと思います. この本は初心者のプログラマーを対象としており、ヘッダーと cpp ファイルを既にデバッグできる人は対象としていません。解決策が少し長いことをお詫びしますが、私のようにそれに直面する可能性が高い人にのみ適していると思います.

Visual Express 2008 / 2010 ガイド

1) FLTK をビルドします。思ったほど簡単ではありませんが、それほど悪くはありません。2008 年には FLTK 1.1.0 を使用します。2010 年には 1.3.0 を使用します。

  1. 2010 については、私がここに書いた解決策を参照してください – Microsoft 2010 visual c 、FLTK のインストール

  2. 2008 の場合は、代わりに C:\fltk-1.1.10\vc2005\fltk.lib.vcproj を実行します。

    ビルド プロセス中にエラーが発生した場合は、問題の原因を突き止める必要があります。

2) 新しいプロジェクトを設定する

  1. 2010 の場合は、上記のガイドに従ってください
  2. 2008 年の場合 – 基本的には同じアイデアですが、いくつかの変更があります
    1. 1.3.0 のすべての参照を 1.1.10 に変更してください。
    2. 入力セクションでは、.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 サイトのファイルを適切なフォルダに入れます。

  1. 2008 年の場合、headertest という名前のプロジェクトで -
    1. C:\Users\User\Documents\Visual Studio 2008\Projects\headertest\ put std_lib_facilities.h here
    2. C:\Users\User\Documents\Visual Studio 2008\Projects\headertest\headertest\ 彼の Web サイトの他のすべての .cpp および .h ファイルをここに配置します。もちろん、headertest.cpp および .h (必要な場合) は次のようになります。ここで作成。
    3. 上記のガイドの手順に従って、プロジェクトが正しく設定されていることを確認してください。
  2. 2010 年の場合、Fri_FLTK_Test という名前のプロジェクトで -
    1. 上記と同じことを行いますが、ファイルを 2010 の同等の C:\Users\User\Documents\Visual Studio 2008\Projects\headertest および ..Visual Studio 2010\Projects\Fri_FLTK_Test\Fri_FLTK_Test に配置します。

5) アクティブなプロジェクトに .h および .cpp ファイルを追加します。

  1. プロジェクト 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 に協力していただき、特に感謝しています。

于 2012-07-27T09:32:24.170 に答える
0

Express エディションを実行していることが原因でしょうか? 私はそのような同様の問題に遭遇し、Express の古いバージョンに切り替える必要がありました。

この投稿を見たことがありますか?

http://answerpot.com/showthread.php?275672-FLTK+%26+Visual+C%2B%2B+Express%3F

-シ。

于 2012-07-19T08:15:01.180 に答える