Моя машина в Windows 7 32-разрядная и мой компилятор для C++ - это Visual Studio 2012, поэтому я сначала загрузил FLTK (http://www.stroustrup.com/Programming/FLTK/), а затем выполнил следующие работы: хотел меня:Установка и работа с FLTK на Visual Studio 2012
I. Распакуйте загруженный файл и откройте главную папку, fltk-ll? В папке Visual C++ (например, vc2005 или vcnet) откройте файл fltk.dsw. Если у вас возникли вопросы о обновлении старых файлов проекта, выберите «Да для всех».
PS: Мой компилятор vc2012 вместо VC2005 и не было какой-либо файл с именем fltk.dsw в vc2005 или vcnet папки, поэтому я выбрал fltk.sln от vcnet и установил его. Были некоторые неудачи при установке, но они закончились, наконец!
В меню «Построение» выберите «Создать решение». Это может занять несколько минут. Исходный код компилируется в библиотеки статических ссылок, так что вам не нужно перекомпилировать исходный код FLTK в любое время, когда вы создадите новый проект . Когда процесс завершится, закройте Visual Studio.
Из основного каталога FLTK откройте папку lib. Скопировать (не только переместить/перетащить) все .lib-файлы, кроме README.lib (должно быть scven) в C: \ Prograrn Files \ Microsoft Visual Studio \ Vc \ lib.
Вернитесь в основной каталог FLTK и скопируйте папку FL в C: \ Program Files \ Microsoft Visual Studio \ Vc \ include.
Создайте новый проект в Visual Studio с одним изменением в обычном порядке: создать «проект \ Vin32» вместо «консольного приложения», когда выбирая тип проекта. Не забудьте создать «пустой проект»; в противном случае, некоторый «мастер программного обеспечения» добавит вам много материала в ваш проект, который вам вряд ли понадобится или поймет. .
В Visual Studio выберите «Проект» из главного меню (сверху), а из выпадающего меню выберите «Свойства».
В диалоговом окне «Свойства» в меню слева щелкните папку «Линкеровщик». Это расширяет подменю. В этом подменю нажмите «Ввод». В дополнительном поле «Зависимости» справа введите следующий текст: fltkd.lib wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib [Следующий шаг может быть необходим, поскольку il теперь по умолчанию.] В Игнорировать конкретный текст библиотеки поле, введите следующий текст: libcd.lib
[. Этот шаг может оказаться ненужным, поскольку/MDd теперь по умолчанию] В левом меню того же окна Свойства, член C/C++ для расширения другого подменю . Щелкните элемент подменю «Генерация кода». В правом меню измените раскрывающийся список библиотеки времени выполнения на многопоточную Debug DLL (/ MDd). Нажмите «ОК», чтобы закрыть окно «Свойства».
Я этот шаг я добавил новый элемент к этому вновь созданному проекту (я назвал этот проект 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 ошибок! Они в строках:
Error 1 error LNK2019: unresolved external symbol "public: static int __cdecl Fl::run(void)" ([email protected]@@SAHXZ) referenced in function _main C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 2 error LNK2019: unresolved external symbol "protected: __thiscall Fl_Widget::Fl_Widget(int,int,int,int,char const *)" ([email protected]@[email protected]@Z) referenced in function "public: __thiscall Fl_Box::Fl_Box(int,int,int,int,char const *)" ([email protected]@[email protected]@Z) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 3 error LNK2019: unresolved external symbol "public: virtual __thiscall Fl_Widget::~Fl_Widget(void)" ([email protected]@[email protected]) referenced in function "public: virtual __thiscall Fl_Box::~Fl_Box(void)" ([email protected]@[email protected]) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 4 error LNK2001: unresolved external symbol "public: virtual void __thiscall Fl_Widget::resize(int,int,int,int)" ([email protected][email protected]@[email protected]) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 5 error LNK2001: unresolved external symbol "protected: virtual void __thiscall Fl_Box::draw(void)" ([email protected][email protected]@MAEXXZ) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 6 error LNK2001: unresolved external symbol "public: virtual int __thiscall Fl_Box::handle(int)" ([email protected][email protected]@[email protected]) C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 7 error LNK2019: unresolved external symbol "public: __thiscall Fl_Window::Fl_Window(int,int,char const *)" ([email protected]@[email protected]@Z) referenced in function _main C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 8 error LNK2019: unresolved external symbol "public: virtual __thiscall Fl_Window::~Fl_Window(void)" ([email protected]@[email protected]) referenced in function _main C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 9 error LNK2019: unresolved external symbol "public: virtual void __thiscall Fl_Window::show(void)" ([email protected][email protected]@UAEXXZ) referenced in function _main C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\testv.obj
Error 10 error LNK2019: unresolved external symbol [email protected] referenced in function __tmainCRTStartup C:\Users\CS\documents\visual studio 2012\Projects\testv\testv\MSVCRTD.lib(crtexew.obj)
Error 11 error LNK1120: 10 unresolved externals C:\Users\CS\documents\visual studio 2012\Projects\testv\Debug\testv.exe
Я думаю, что проблема связана с созданием проекта. После того, как я создал пустой проект из Win32 Project Я нажал на . Добавить новый товар и выбрал тип .cpp. Я не знаю, было это правильно или нет.
У вас есть идеи по устранению проблемы?
Когда вы добавили свои библиотеки, вы ввели их в одной строке или вы щелкните эллипсис и ввести их в отдельные строки? Используйте fltkd.lib (not fltkd.1ib) и ws2_32.lib (а не ws0ck32.lib, который действительно должен был быть wsock32.lib). – cup
Кроме того, когда вы построили fltk, это был MT или MD? Вы должны следовать той же модели в своем исполняемом файле. Если вам нужно использовать определенную модель компиляции, измените ваши проекты fltk на соответствие и перестройку. Это довольно утомительно, и вокруг него нет простого способа. – cup
Я исправил эти ошибки ввода и снова запустил код. Единственная ошибка: Ошибка ошибка LNK1104: невозможно открыть файл 'fltkd.lib wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib' \t c: \ Users \ CS \ documents \ visual studio 2012 \ Projects \ testv \ testv \ LINK – abbasi