窗口中FLTK 2.0中的链接错误

Linking errors in FLTK 2.0 in windows

本文关键字:链接 错误 FLTK 窗口      更新时间:2023-10-16

我正在使用Qt Creator(不使用任何Qt库)来测试FLTK2.0的Hello World项目。但我收到的错误如下:

错误:UpBox.cxx:-1:错误:未定义对SelectObject@8' UpBox.cxx:-1: error: undefined reference to的引用SetROP2@8'UpBox.cxx:-1:错误:未定义对PatBlt@24' UpBox.cxx:-1: error: undefined reference to的引用CreatePatternBrush@4'UpBox.cxx:-1:错误:未定义对DeleteObject@4' :-1: error: C:UsersmypcDesktopFLTKfltk-2.0-win-binlib/libfltk2.a(UpBox.o): bad reloc address 0xb in section的引用。text$_ZN4fltk7FlatBoxD1Ev[__ZN4fllk7FlatboxD1Ev]'

main.cpp文件如下所示:

#include <fltk/Window.h>
#include <fltk/Widget.h>
#include <fltk/run.h>
using namespace fltk;
int main(int argc, char **argv) {
    Window *window = new Window(300, 180);
    window->begin();
    Widget *box = new Widget(20, 40, 260, 100, "Hello, World!");
    box->box(UP_BOX);
    box->labelfont(HELVETICA_BOLD_ITALIC);
    box->labelsize(36);
    box->labeltype(SHADOW_LABEL);
    window->end();
    window->show(argc, argv);
    return run();
}

hello.pro文件:

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
CONFIG+= c++11
LIBS += -L"C:\Users\mypc\Desktop\FLTK\fltk-2.0-win-bin\lib" -lfltk2
INCLUDEPATH += "C:\Users\mypc\Desktop\FLTK\fltk-2.0-win-bin\include"
DEPENDPATH += "C:\Users\mypc\Desktop\FLTK\fltk-2.0-win-bin\include"

为什么我会出现这些错误?

n.b:FLTK 2.o MinGw编译的二进制文件从FLTK Windows二进制文件下载

静态库FLTK已正确链接,但它还需要链接到Win32 API才能在windows上工作。

您还必须链接到Gdi32.dll。