我正在使用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:\Users\mypc\Desktop\FLTK\fltk-2.0-win-bin\lib/libfltk2.a(UpBox.o): bad reloc address 0xb in section
的未定义引用.text $ _ZN4fltk7FlatBoxD1Ev [__ ZN4fltk7FlatBoxD1Ev]'
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"
为什么我会收到这些错误?
下载FLTK 2.o MinGw编译的二进制文件答案 0 :(得分:1)
静态库FLTK已正确链接,但它也需要链接到Win32 API才能在Windows上运行。
你也必须链接到Gdi32.dll。