在 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 吗?

怎么附加数据库在Microsoft Visual Studio上