1

MSV2010C++でのFLTKの問題

私は「プログラミング-C++を使用した原則と実践」に従っています。

FLTKを正しく実行しようとして苦労している。私は一度、そして二度と私のために働いた。以下に手順を詳しく説明しました。何かおかしなことに気づいたら、本当にありがたいです。

私の主な懸念事項は次のとおりです。1)リンカー>入力>追加の依存関係の手順は少し混乱します2)1.1.9と1.3.0の両方のソリューションを構築しました。これらは衝突する可能性がありますか?3)プロセスの私の理解は控えめに言っても基本です。

建物は実際に何を達成しますか?どのようなオブジェクトを作成しますか?これらが正しく作成されていることを確認するにはどうすればよいですか?

システムWindows7(64ビット)(Microsoft 2010 Visual C ++)

fltt1.1.9で試行された手順

1fltk-1.1.9をダウンロード-ソース

2 vlC2005ソリューションでは、次の結果が得られます。

========== Build: 66 succeeded, 3 failed, 0 up-to-date, 1 skipped ==========

3 libファイルをソースからx:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC\libにコピーしました

4 FL FOLDERをコピーしました(フォルダーが追加/置換されます)x:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \

5ソリューションを実行しようとすると、失敗します-

========== Build: 6 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

6win32プロジェクトとしてgraphics6という名前の新しいプロジェクトを作成します

7アプリケーション設定-Windowsアプリケーションと空のプロジェクト

8ソースファイルにgraphics6.cppを作成し、次のコードを追加しました

    #include <FL/Fl.h>
    #include <FL/Fl_Box.h>
    #include <FL/Fl_Window.h>

    int main()
    {
    Fl_Window window(200,200,"Window Title");
    Fl_Box box(0,0,200,200,"Hey");
    window.show();
    return Fl::run();
    }

9実行すると、次のようになります

  1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16  
  referenced in function ___tmainCRTStartup

10プロジェクト設定を変更します-リンカー>入力>追加の依存関係:

 "kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;
 shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(fltkd.lib
 wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib)"

11走ると、これが出ます-

 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol 
_WinMain@16 referenced in function ___tmainCRTStartup

結論1.1.9はMS2010VC++では構築できません

代わりに1.3を試してみましょう-------

1 1.3をダウンロードして、ソリューション\ fltk-1.3.0-source \ fltk-1.3.0 \ ide \ VisualC2010\fltk.slnを実行します

2ビルドしました(これを数回実行したので、次の結果が得られます:

========== Build: 0 succeeded, 0 failed, 79 up-to-date, 0 skipped ==========

3実行すると、画面にグラフィックが表示されます。ここまでは順調ですね!

4 libファイルをソースからx:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC\libにコピーしました

5 FL FOLDERをコピーしました(フォルダーが追加/置換されます)x:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \

6手順6〜8は上記と同じなので、前のプロジェクトをロードしました。

7走るとき

 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16
 referenced in function ___tmainCRTStartup
 1>C:my information \visual studio 2010\Projects\graphics6\Debug\graphics6.exe : fatal 
 error LNK1120: 1 unresolved externals 
 ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

8追加デフォルトライブラリを無視>libcd.lib

9同じ結果でもう一度実行しました

長さについては申し訳ありませんが、問題を明確にする唯一の方法は、すべての詳細を含めることだと思います。

私が見る限り、私はできる限り指示に従っています。主な問題は、1.1.9を実行できないことです。

私は多くのサイトでこの問題の解決策を探しましたが、プロセスの詳細なステップバイステップの記述をまだ見つけていません。

4

3 に答える 3

2

FLTK 1.3.0

わかりました、私はついにこれに対する解決策を手に入れました(約12時間後)-

パート1-FLTKの構築

  1. fltk-1.3.0をダウンロードして解凍します。
  2. 含まれているfltk-1.3.0フォルダーをC:\にコピーします(別の場所を使用できますが、一部のコマンドを変更する必要があります)。
  3. C:\ fltk-1.3.0 \ ide \ VisualC2010に移動し、fltk.slnを実行します
  4. それを右クリックしてビルドをクリックします
  5. エラーなしで完了するはずです。エラーがある場合は、このガイドがお役に立てないかと思います。
  6. 完了すると、実行できるようになります(ウィンドウが開きます)。

パート2-独自のプロジェクトの実行ビルドが正しく行われたと仮定すると、次の手順を実行できます。

  1. MSVC++2010を起動します
  2. [ファイル]>[新規]>[プロジェクト]-Win32プロジェクトと名前を選択します

       FLTK-Test3
    
  3. ウィザードの[次へ]をクリックしてから、アプリケーションの種類:Windowsアプリケーションとして保持追加オプション:プロジェクトを空にする[完了]をクリックします

  4. ソリューションエクスプローラーでソースファイルを右クリックし、追加します

       FLTK-Test3.cpp
    
  5. FLTK-Test3を右クリックして、プロパティに移動します

    a)構成プロパティ> C /C++>コマンドライン>追加オプション-追加

        /Ic:\fltk-1.3.0
    

    b)[構成のプロパティ]>[リンカー]>[入力]>[追加の依存関係]>これは最も難しい部分であり、追加する必要があります

        c:\fltk-1.3.0\lib\fltkd.lib;wsock32.lib;comctl32.lib;c:\fltk-1.3.0\lib\fltkjpegd.lib;c:\fltk-1.3.0\lib\fltkimagesd.lib;
    

    行の終わりまで(#()情報を置き換えます。私の変更によりこれが発生しました。あなたの変更は異なる可能性があります-

      kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;c:\fltk-1.3.0\lib\fltkd.lib;wsock32.lib;comctl32.lib;c:\fltk-1.3.0\lib\fltkjpegd.lib;c:\fltk-1.3.0\lib\fltkimagesd.lib;
    

.libファイルの最後にある「d」はデバッグを示しているため、最終的なビルドでは、「d」のないものを含めることになっていると思います。したがって、..jpegd.libではなく..fltkjpeg.libです。

このセクションが正しく機能する場合は、コードの最初の#include行を追加するときに、下線を付けないでください。もしそうなら、問題があります。

c)これも実行する必要がある場合があります(実行されない場合)

[構成のプロパティ]>[リンカー]>[入力]>[特定のデフォルトライブラリを無視する]>

    libcd.lib
  1. これがすべて完了すると、以下に完全なコードを追加できるようになります-

    #include <FL/Fl.h>
    #include <FL/Fl_Window.h>
    
    int main()
    {
     Fl_Window win(320,200);
     win.show();
     return Fl::run();
    }
    

上記のコードを入力して、実行します。

私はまだたくさんの間違いを持っ​​ていました、-

  'FLTK-Test3.exe': Loaded 'C:\Users\USER\Documents\Visual Studio 2010\Projects\FLTK-Test3\Debug\FLTK-Test3.exe', Symbols loaded.
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common- controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\comdlg32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\clbcatq.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\msimtf.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
  'FLTK-Test3.exe': Unloaded 'C:\Windows\SysWOW64\msimtf.dll'
  'FLTK-Test3.exe': Unloaded 'C:\Windows\SysWOW64\version.dll'

..しかし、それは実行されました!

お役に立てば幸いです。

于 2012-07-09T07:30:19.550 に答える
0

デビッド、私はあなたがグレッグ・エルコラーノによって作られたこの素晴らしい(何年も経ってもまだ揺れている)ビデオチュートリアルを見ることをお勧めします:http ://seriss.com/people/erco/fltk-videos/fltk-ms-vs-build.html 。ビデオのタイトルは「VisualStudio7.0でFLTKの構築を開始する方法」ですが、VC2010にも適用できると思います。

あなたの問題について-私はおそらく問題を引き起こしているのは単にプロジェクトのタイプだと思います...あなたのプロジェクトをWin32プロジェクトとして設定してください。ただし、FLTKアプリはコンソールアプリとしても機能するはずです...

于 2012-07-07T09:11:22.390 に答える
0

表示されるエラーメッセージは、FLTKを実行するために必要な設定(Win32コンソールアプリケーション)以外の設定でプロジェクトを作成した可能性があることを示しています。

次のリンクが役立ちます。

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/b83e4884-9dec-4d67-ab92-90d5b6c8c51c/

于 2012-07-10T18:45:38.200 に答える