【发布时间】: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 或其他格式。