我正在尝试遵循编程 - 使用C的原则和实践,并且我喜欢它到目前为止。在上周初,我遇到了一个已经停止进一步进展的问题。我需要安装FLTK。
成功管理构建并运行FLTK-1.3.0(参见我的其他问题/解决方案)之后,我遇到了一个问题,即它不能与Stroustrup的头文件一起运行。我认为这是由于版本不同,但不确定。
所以我回到试图让1.1工作。
我无法使用MVC ++ 2010从他的网站构建FLTK-1.1.10或fltk-1.1.9。
所以这引出了我们的问题
1)如果我使用MinGW / Msys构建它,它仍然可以从VC ++运行吗? 到目前为止,我一直试图找出MinGW / Msys的成功,所以我还没有构建任何东西,所以我自己也无法测试。
2)如果它不能运行MinGW构建,有没有办法用VC ++构建它?
从我的理解 -Building将在FLTK目录中创建更多文件,允许我使用它。 -MinGW使用与VC ++不同的编译器,它们不能很好地协同工作
我觉得我在这一部分浪费了很多时间,但这是一次很好的学习经历。可能对我的血压不太好。
我想在这一点上我的主要选择是转移到另一个IDE。 Eclipse似乎很不错。但我真的想解决这个问题,而不是放弃VC ++。
我之前的帖子(Microsoft 2010 visual c , installing FLTK)详细说明了在编译过程中发生的错误,如果感兴趣的话。
我已经大量搜索了这个问题,并且尚未找到真正的解决方案。我希望这篇文章能够为我和其他未来的程序员澄清这个问题。
答案 0 :(得分:1)
嗯,这花了我足够长的时间,但我终于弄明白了。 这似乎是土地的平躺。
在让所有人都感到沮丧之后,我认为为可能处于类似情况的人写一个循序渐进的指南是公平的。本书面向新手程序员,而不是已经能够调试其头文件和cpp文件的人。我道歉是解决方案有点冗长,但我认为这对于像我这样可能面对它的人来说是合适的。
Visual Express 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)设置一个新项目
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中的文件放入正确的文件夹中。
5)将.h和.cpp文件添加到您的活动项目中。
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,感谢他对这个问题的帮助。
答案 1 :(得分:0)
可能是因为您正在运行Express版本吗?我遇到过类似的问题,不得不切换到旧版本的Express。
你看过这篇文章吗?
http://answerpot.com/showthread.php?275672-FLTK+%26+Visual+C%2B%2B+Express%3F
-Si。