提问人:Guy 提问时间:3/7/2023 最后编辑:Guy 更新时间:3/10/2023 访问量:77
在 Eclipse 上构建 FLTK 应用程序时缺少库
Missing library when building an FLTK application on Eclipse
问:
我已经在我的 Intel 64 MacBook 和 Mac OS 上使用自制软件安装了 FLTK。在 Eclipse 中制作了一个 C++ 项目,并从 FLTK 文档中复制/粘贴了 Hellow World 示例。我可以毫无错误地编译模块,但链接总是失败,说它找不到或加载库 libfltk.a。
生成的输出(包括错误消息)为:
Building target: helloWorld
Invoking: MacOS X C++ Linker
g++ -L/usr/local/lib/ -L/Users/guyhbroadfoot/eclipse-workspace/helloWorld/lib/ -o "helloWorld" ./src/helloWorld.o -llibfltk.a
ld: library not found for -llibfltk.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [helloWorld] Error 1
make: *** [all] Error 2
"make all" terminated with exit code 2. Build might be incomplete.
15:43:51 Build Failed. 3 errors, 0 warnings. (took 2s.531ms)
-
helloWorld.cpp 是从 FLTK 手册中的示例中剪切/粘贴的,如下所示:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <iostream>
using namespace std;
int main(int argc, char **argv) {
Fl_Window *window = new Fl_Window(340, 180);
Fl_Box *box = new Fl_Box(20, 40, 300, 100,
"Hello, World!");
box->box(FL_UP_BOX);
box->labelfont(FL_BOLD + FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
return Fl::run();
}
Homebrew 将 FLTK 静态库安装在 /usr/local/lib 中,这是 Eclipse 的默认搜索位置。它还将包含文件安装在 /usr/local/include/FL 中,编译器可以毫不费力地找到这些文件。我尝试将显式 /usr/local/lib 路径添加到 Eclipse 中的链接器设置中,并且它使用此 -L 设置正确生成命令。我还告诉它使用库 libfltk.a,它尝试这样做,但总是报告找不到它。
我已经搜索了这方面的帮助,但所有建议似乎都假设我想下载 FLTK 源代码并自己构建它,我真的没有。我曾希望通过自制软件进行安装是我需要做的。
有没有人成功地使用通过自制软件安装的 FLTK 构建程序,而无需从头开始重建 FLTK 库本身?
任何想法都将不胜感激。在寻求帮助之前,我已经做了平常的事情,RTFM 等。
答: 暂无答案
评论