Ну, это взяло меня достаточно долго, но я, наконец, все понял. Это, кажется, земля.
- FLTK 1.3.0 совместима с файлами заголовков, но graph.cpp нужно небольшое изменение, чтобы позволить вещам работать.
- FLTK 1.1.10 не будет корректно работать с Visual Express 2010, но будет работать с версией 2008 года.
- Файлы заголовков работают с обоими, но вам нужно внести небольшое изменение в Graph.cpp для их работы.
После всех разочарований, которые у меня были все эти работы, я считаю справедливым написать пошаговое руководство для людей, которые могут находиться в подобных ситуациях. Книга предназначена для начинающих программистов, а не для людей, уже отлаживающих файлы заголовков и cpp. Я прошу прощения, это решение немного продолжительное, но я думаю, что это подходит только для таких людей, как я, которые могут столкнуться с этим.
Визуальный Экспресс 2008/2010 руководство
1) Построить FLTK. Не так просто, как кажется, но не так уж плохо. В 2008 году используйте FLTK 1.1.0. В 2010 году используйте 1.3.0.
В 2010 см решение, которое я написал здесь - Microsoft 2010 visual c , installing 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) Поместите файлы с his website в нужные папки.
- В 2008 году в рамках проекта под названием headertest -
- C: \ Users \ User \ Documents \ Visual Studio 2008 \ Projects \ headertest \ пут std_lib_facilities.h здесь
- C: \ Users \ Пользователь \ Documents \ Visual Studio 2008 \ Projects \ headertest \ headertest \ Поместите все остальные файлы .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> Существующие элементы - выберите все файлы .h и.cpp в каталоге по умолчанию. Вам не нужно добавлять .. \ std_lib_facilities.h, поскольку вы уже прямо ссылаетесь на это. Не спрашивайте меня, почему, но это работает.
6) Теперь вы увидите, что если вы запустите проект, вы получите кучу ошибок, самое главное читает -
C: \ Users \ Пользователь \ Documents \ Visual Studio 2010 \ Projects \ fri_fltk_test \ graph.cpp (237): ошибка C2084: функция 'Graph_lib :: Круг :: Круг (Point, целое)' уже имеет тело
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 вещей. Но это приятное чувство, что он работает над моим первоначальным выбором. Надеюсь, это руководство поможет другим в подобных ситуациях.
Особая благодарность вышла на Skydiver из Dream.In.Code форумах за помощь в решении этой проблемы.
По-прежнему не удавалось получить что-либо построенное. Попытка выяснить, как использовать Cygwin, MinGW и т. Д., Но они не очень удобны для пользователя. Очень сложно создать устаревшую версию FLTK для запуска с предоставленными заголовками. – David
Это странно. В ответ на этот вопрос шла бегущая беседа, теперь она, похоже, исчезла. Если у кого есть решение, я бы хотел это услышать. Или, возможно, опубликуйте рабочее решение, которое использует код из книги? – David
После безумного количества времени, пытаясь найти решение этой проблемы, я думаю, что я сдаюсь и перейду на другую IDE. Если у кого есть решение, я был бы очень рад это услышать. FKTL 1.3 работает, но мне еще нужно заставить его работать с файлами заголовков. FLTK 1.1.10 или .9 не будет строить. Ну ладно, по крайней мере, я узнал ... что-то, может быть .... – David