在 microsoft visual 2010 上安装 FLTK 1.3.2
Posted
技术标签:
【中文标题】在 microsoft visual 2010 上安装 FLTK 1.3.2【英文标题】:installing FLTK 1.3.2 on microsoft visual 2010 【发布时间】:2013-12-28 22:56:15 【问题描述】:我在安装 FLTK 工具包后尝试编译 hello world .cpp 时遇到此链接器错误。如果您注意到库名称来自安装在 stroustrup 书“编程原理与实践”中的附录 D 中。版本是2012,但是现在FLTK版本好像有点不一样了,比如书上推荐下载的版本是FLTK 1.1.(?),最新的是1.3.2。我认为链接器问题在我放置的项目/属性/链接器/输入/附加依赖项选项卡下的 VC++ 项目中(根据附录 d)
fltk.lib
wsock32.lib
comctl32.lib
fltkjpegd.lib
fltkimagesd.lib
但是我从 fltk lib 文件夹复制的 .lib 文件没有这些名称。它们被命名为:
fltkzlibd
fltkpngd
fltkjpegd
fltkimagesd
fltkformsd
fltkgld
fltkd
这些是要包含在 VC++ 项目中的项目/属性/链接器/输入/附加依赖项选项卡下的 .lib 文件吗?如果没有,我还能如何解决这个烂摊子?
1>------ Build started: Project: test, Configuration: Debug Win32 ------
1> test.cpp
1>LINK : fatal error LNK1104: cannot open file 'fltk.lib wsock32.lib comctl32.lib fltkjpegd.lib fltkimagesd.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
int main(int argc, char **argv)
Fl_Window *window = new Fl_Window(300,180);
Fl_Box *box = new Fl_Box(20,40,260,100,"Hello, World!");
box->box(FL_UP_BOX);
box->labelsize(36);
box->labelfont(FL_BOLD+FL_ITALIC);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
return Fl::run();
【问题讨论】:
不熟悉 FLTK,如果这是对您智力的侮辱,请原谅,但是:您下载编译的构建或源代码吗?此外,请确保将二进制文件编译为库而不是 DLL 或其他格式。 【参考方案1】:包括调试版本的那些 lib 文件。发布版本没有尾随 d。
对于链接,请使用 ws2_32.lib 而不是 wsock32.lib。
添加其他依赖项时,您是否单击省略号,然后在对话框中将所有库名称输入一行?它们需要在不同的行中输入。
【讨论】:
太棒了。正如你所建议的,我将每个 lib 文件放在一个新行中并换出 wsock32.lib,但 fltk.lib 不起作用,所以我尝试了 fltkd.lib 并且它起作用了。嗯.. 您是在构建发布版还是调试版?发布版本使用 fltk.lib,调试使用 fltkd.lib。不要打扰 Debug Cairo 版本。 这是我第一次将开发人员工具包安装到我的编译器上。我不知道。我只是想在 Stroustrup 的第 12 章中做有关图形的练习:“使用 c++ 进行编程、原理和实践”。调试版和发布版有什么区别? 有很多不同之处。如果您打开项目属性,请查看优化和代码生成。基本上调试可能包含额外的代码来帮助调试,发布是优化的。有时错误只会在发布版本中显示出来,因此会为客户提供调试版本。以上是关于在 microsoft visual 2010 上安装 FLTK 1.3.2的主要内容,如果未能解决你的问题,请参考以下文章
在哪里可以找到 Microsoft Visual Studio 2010 卸载实用程序?
Win7 64位无法安装上Microsoft Visual C++ 2010(x86) Redistributable
allegro 5.1.3 和 microsoft visual studio 2010 for android?
microsoft visual c++6.0和micorostf visual c++ 2010 express有啥区别
可以在 Microsoft 的 Visual C++ 2010 Express Edition 中安装 Whole Tomato 的 Visual Assist X 吗?