当我在安装FLTK工具包后尝试编译hello world .cpp时,我收到此链接器错误。如果您注意到库名称来自安装,请参阅stroustrup书“编程原理和实践”中的附录D.该版本是2012年,但现在看来FLTK版本有点不同,例如本书建议下载的版本是FLTK 1.1。(?),而1.3.2是最新版本。我认为链接器问题在我放置的项目/ properties / linker / input / additional dependencies选项卡下的VC ++项目中(每个附录d)
fltk.lib
wsock32.lib
comctl32.lib
fltkjpegd.lib
fltkimagesd.lib
但是我从fltk lib文件夹复制的.lib文件没有这些名字。它们被命名为:
fltkzlibd
fltkpngd
fltkjpegd
fltkimagesd
fltkformsd
fltkgld
fltkd
这些.lib文件是否包含在项目/ properties / linker / input / additional dependencies选项卡下的VC ++项目中?如果没有,我怎么能解决这个烂摊子?
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();
}
答案 0 :(得分:0)
包含调试版本的lib文件。发行版本没有尾随d。
对于链接,请使用ws2_32.lib而不是wsock32.lib。
添加其他依赖项时,是否单击了省略号,然后在对话框中输入一行中的所有库名称?它们需要分开输入。