Windows 7 32 ビットの私のマシンと C++ のコンパイラはVisual Studio 2012なので、最初にここから FLTK をダウンロードし ( http://www.stroustrup.com/Programming/FLTK/ )、次のように作業を行いました。自分:
I. ダウンロードしたファイルを解凍し、メイン フォルダー fltk-ll? を開きます。Visual C++ フォルダー (vc2005 または vcnet など) で、fltk.dsw を開きます。古いプロジェクト ファイルの更新について尋ねられた場合は、[すべてはい] を選択します。
PS: 私のコンパイラはvc2005ではなくvc2012で、vc2005 または vcnetフォルダーにfltk.dswという名前のファイルがなかったので、 vcnetから fltk.sln を選択してインストールしました。取り付けに失敗もありましたが、やっと完成!
[ビルド] メニューから、[ソリューションのビルド] を選択します。これには数分かかる場合があります。ソース コードはスタティック リンク ライブラリにコンパイルされるため、新しいプロジェクトを作成するたびに FLTK ソース コードを再コンパイルする必要はありません。プロセスが完了したら、Visual Studio を閉じます。
メイン FLTK ディレクトリから lib フォルダーを開きます。README.lib (scven があるはずです) を除くすべての .lib ファイルを C:\Prograrn Files\Microsoft Visual Studio\Vc\lib にコピーします (単に移動/ドラッグするだけではありません)。
FLTK メイン ディレクトリに戻り、FL フォルダを C:\Program Files\Microsoft Visual Studio\Vc\include にコピーします。
通常の手順を 1 つ変更して、Visual Studio で新しいプロジェクトを作成します。プロジェクトの種類を選択するときに、「コンソール アプリケーション」ではなく「\Vin32 プロジェクト」を作成します。必ず「空のプロジェクト」を作成してください。そうしないと、一部の「ソフトウェア ウィザード」がプロジェクトに多くのことを追加してしまいます。
Visual Studio で、メイン (上部) メニューから [プロジェクト] を選択し、ドロップダウン メニューから [プロパティ] を選択します。
[プロパティ] ダイアログ ボックスの左側のメニューで、[リンカー] フォルダーをクリックします。これにより、サブメニューが展開されます。このサブメニューで、[入力] をクリックします。右側の [Additional Dependencies] テキスト フィールドに、次のテキストを入力します。 fltkd.lib wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib [il がデフォルトになっているため、次の手順は必要ないかもしれません] In the Ignore Specific Libraryテキスト フィールドに次のテキストを入力します: libcd.lib
[/MDd が既定になっているため、この手順は不要な場合があります。] 同じ [プロパティ] ウィンドウの左側のメニューで、[C/C++] をクリックして別のサブメニューを展開します。[コード生成] サブメニュー項目をクリックします。右側のメニューで、[ランタイム ライブラリ] ドロップダウンを [マルチスレッド デバッグ DLL (/MDd)] に変更します。[OK] をクリックして [プロパティ] ウィンドウを閉じます。
このステップでは、新しく作成したプロジェクトに新しい項目を追加し (そのプロジェクトにtestv.cppという名前を付けました)、FLTK をテストするために次の簡単なコードを貼り付けました。
#include <FL/Fl.h>
#include <FL/Fl_box.h>
#include <FL/Fl_Window.h>
//***************************
int main()
{
FI_Window window(200, 200, "Window title");
FL_Box box(O,O,200,200, "Hey, I mean, He llo, World! ");
window.show();
return Fl::run();
}
このプロジェクトを実行した後 (F5 キーを押す)、11 個のエラーが表示されました。それらは次のとおりです。
エラー 1 エラー LNK2019: 未解決の外部シンボル "public: static int __cdecl Fl::run(void)" (?run@Fl@@SAHXZ) 関数 _main C:\Users\CS\documents\visual studio 2012\Projects\ で参照されていますtestv\testv\testv.obj
エラー 2 エラー LNK2019: 未解決の外部シンボル "保護: __thiscall Fl_Widget::Fl_Widget(int,int,int,int,char const *)" (??0Fl_Widget@@IAE@HHHHPBD@Z) 関数で参照されている "パブリック: __thiscall Fl_Box ::Fl_Box(int,int,int,int,char const *)" (??0Fl_Box@@QAE@HHHHPBD@Z) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.オブジェクト
エラー 3 エラー LNK2019: 未解決の外部シンボル "public: virtual __thiscall Fl_Widget::~Fl_Widget(void)" (??1Fl_Widget@@UAE@XZ) 関数で参照されている "public: virtual __thiscall Fl_Box::~Fl_Box(void)" ( ??1Fl_Box@@UAE@XZ) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
エラー 4 エラー LNK2001: 未解決の外部シンボル "public: virtual void __thiscall Fl_Widget::resize(int,int,int,int)" (?resize@Fl_Widget@@UAEXHHHH@Z) C:\Users\CS\documents\visual studio 2012\プロジェクト\testv\testv\testv.obj
エラー 5 エラー LNK2001: 未解決の外部シンボル "保護: 仮想 void __thiscall Fl_Box::draw(void)" (?draw@Fl_Box@@MAEXXZ) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\ testv.obj
エラー 6 エラー LNK2001: 未解決の外部シンボル "public: virtual int __thiscall Fl_Box::handle(int)" (?handle@Fl_Box@@UAEHH@Z) C:\Users\CS\documents\visual studio 2012\Projects\testv\ testv\testv.obj
エラー 7 エラー LNK2019: 未解決の外部シンボル "public: __thiscall Fl_Window::Fl_Window(int,int,char const *)" (??0Fl_Window@@QAE@HHPBD@Z) 関数 _main C:\Users\CS\documents で参照\visual studio 2012\Projects\testv\testv\testv.obj
エラー 8 エラー LNK2019: 未解決の外部シンボル "public: virtual __thiscall Fl_Window::~Fl_Window(void)" (??1Fl_Window@@UAE@XZ) 関数 _main C:\Users\CS\documents\visual studio 2012\Projects で参照\testv\testv\testv.obj
エラー 9 エラー LNK2019: 未解決の外部シンボル "public: virtual void __thiscall Fl_Window::show(void)" (?show@Fl_Window@@UAEXXZ) 関数 _main C:\Users\CS\documents\visual studio 2012\Projects\ で参照testv\testv\testv.obj
エラー 10 エラーLNK2019:関数で参照されている未解決の外部シンボル WinMain@16 _ _tmainCRTStartup C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\MSVCRTD.lib(crtexew.obj)
エラー 11 エラー LNK1120: 10 個の未解決の外部 C:\Users\CS\documents\visual studio 2012\Projects\testv\Debug\testv.exe
問題は、プロジェクトの作成に関係していると思います。Win32 プロジェクトから空のプロジェクトを作成した後、 [新しい項目の追加]をクリックし、 .cppタイプを選択しました。それが正しかったかどうかはわかりません。
問題を解決するためのアイデアはありますか?