使用 FLTK 框架编译的问题

Posted

技术标签:

【中文标题】使用 FLTK 框架编译的问题【英文标题】:Troubles with compiling with FLTK framework 【发布时间】:2011-03-04 14:31:12 【问题描述】:

我似乎在使用非 fltk-config 脚本编译 FLTK 程序时遇到问题。

我从教程中的“Hello world”程序中复制了源代码。当我运行 fltk-config --compile hello.cpp 它会打印出来

g++ -I/usr/local/include -I/usr/local/include/FL/images -mwindows -DWIN32 -DUSE_OPENGL32 -D_LARGEFILE_SOURCE -D_LARGEFILE32_SOURCE -o 'hello' 'hello.cpp' -mwindows /usr/local/lib/libfltk.a -lole32 -luuid -lcomct132

并且编译得很好。但是当我自己打印同样的东西时,它会说 ld.exe 找不到 -lcomct132。

我使用的是在WinXP下MinGW上编译的FLTK 1.3.0。

【问题讨论】:

【参考方案1】:

我敢打赌,fltk-config 脚本正在设置您尚未配置的环境变量。检查 FLTK 文档并查看需要设置的正确环境变量以在不使用帮助脚本的情况下进行编译。

编辑:做了一些研究

显然你不是唯一一个有链接问题的人。我在论坛here 和fltk.general 新闻组上发现了类似的问题。共识似乎是链接参数的顺序很重要,并且使用 fltk-config 脚本是最简单的方法。

【讨论】:

我已经仔细检查了文档,但没有找到任何关于 windows 下的环境变量的信息。不幸的是,我对shell脚本了解不多,所以我无法理解它是否真的设置了任何环境变量。【参考方案2】:

我没有收到此特定错误,但我确实遇到了“lcomct132”问题。也许您的错误与它有关。所以,就我而言,这就是解决方案:

“132”实际上只是“32”。 “1”不是数字,而是小写字母 L。所以它是“lcomctl32”!

【讨论】:

以上是关于使用 FLTK 框架编译的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ubuntu 下使用 FLTK 编译

如何将 fltk 文件与其他文件一起编译?

如何在 Ubuntu 中使用 g++ 编译 fltk 程序?

编译 Fast Light Toolkit (FLTK) 2.0 以与 fastHOG 一起使用

使用 Makefile 编译使用图像的 FLTK 源代码时出错

使用 g++ 编译使用 fltk 和 OpenGL 的文件在 MacO 上会出错