VS2019编译FLTK项目报错LNK1104无法打开fltkd.lib如何解决?
FLTK在VS2019下LNK1104错误解决方案
1. 库文件匹配检查
首先确认你的库文件本身符合要求:
fltkd.lib是FLTK的Debug版本库,如果你只编译了Release版本的FLTK源码,不会生成该文件,需要重新编译FLTK的Debug配置生成对应库。- 确认FLTK编译时的架构(x86/x64)和你当前项目的运行架构完全一致,架构不匹配时VS也会判定无法识别库文件,抛出LNK1104错误。
- 检查你使用的FLTK版本是否和参考教程匹配,部分新版FLTK生成的库会带版本号后缀,需要手动修改为
fltkd.lib,或者在链接器配置中修改对应依赖项名称。
2. VS2019项目配置修正
你当前把库放在VS默认的VC/lib目录是可行的,但仍需要确认以下配置:
- 打开项目属性页,切换到和你运行一致的Debug配置,在「链接器>常规>附加库目录」中手动添加
fltkd.lib所在的目录,避免不同VS版本默认搜索路径变动导致找不到文件。 - 在「链接器>输入>附加依赖项」中确认已经添加了
fltkd.lib,注意Release配置下需要替换为fltk.lib,不要混用。 - 在「C/C++>代码生成>运行库」中确认Debug配置选择的是「多线程调试(/MTd)」,Release配置选择的是「多线程(/MT)」,和FLTK默认的编译选项保持一致,运行库选项不匹配也会触发库识别错误。
3. 代码笔误修正
你提供的代码中存在笔误,FI_Window需要修改为FL_Window,修正后的完整代码如下:
#include <FL/Fl.H> #include <FL/Fl_Window.H> #include <FL/Fl_Box.H> int main() { Fl_Window window(200, 200, "Window title"); FL_Box box(0, 0, 200, 200, "Hey, I mean, Hello, World! "); window.show(); return Fl::run(); }
内容的提问来源于stack exchange,提问作者Kshitij Kumar
相关产品推荐
相关产品推荐

