gpt4 book ai didi

c++ - FLTK-不显示Mac iOS图像

转载 作者:行者123 更新时间:2023-12-02 10:19:03 25 4
gpt4 key购买 nike

我在iOS Mojave 10.14.6上使用FLTK库(版本1.3.5):我编写了这个简单程序

#include <stdlib.h>
#include <FL/Fl.H>
#include <FL/platform.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_JPEG_Image.H>
#include <FL/Fl_PNG_Image.H>
#include <FL/Fl_Box.H>

int main(int argc, char **argv) {

Fl_Window *G_win = 0;
G_win = new Fl_Window(650,650,"test");

Fl_Box* BG = new Fl_Box(0,0,650,650);
Fl_PNG_Image *bg = new Fl_PNG_Image("scheme.png");
BG->image(bg);

Fl_Box* text = new Fl_Box(250,20,150,20,"There should be an image down below. Is it so?");

G_win->end();
G_win->show(argc, argv);
return Fl::run();
}

然后使用以下Makefile(找到 here)进行编译:
CC  = $(shell fltk-config --cc)
CXX = $(shell fltk-config --cxx)

CFLAGS = $(shell fltk-config --cflags) -Wall -O3 -I/other/include/paths...
CXXFLAGS = $(shell fltk-config --cxxflags) -Wall -O3 -I/other/include/paths...

LINKFLTK = $(shell fltk-config --ldstaticflags)
LINKFLTK_GL = $(shell fltk-config --use-gl --ldstaticflags)
LINKFLTK_IMG = $(shell fltk-config --use-images --ldstaticflags)

STRIP = strip
POSTBUILD = fltk-config --post # Required on OSX, does nothing on other platforms, so safe to call

all: myApp

main.o: main.cpp
$(CC) -c $< $(CCFLAGS)

myApp: main.o
$(CXX) -o $@ main.o $(LINKFLTK_IMG) $(LINKFLTK_GL)
$(STRIP) $@
$(POSTBUILD) $@ # only required on OSX, but call it anyway for portability

因此,我得到了二进制 myApp和应用程序 myApp:当我在 shell 中输入./myApp时,eveything可以正常工作(顶部图像),而双击图标则没有图像显示(底部图像)。

Executing the binary double clicking on the app

编译过程中没有错误,也没有警告。 Makefile是否有任何问题?与Mac iOS相关吗?

最佳答案

我想这很简单,因为FLTK试图从当前文件夹加载PNG文件。在 shell 中执行./myApp时,它在PNG文件所在的同一文件夹中运行。但是,当您双击时,当前路径是“谁知道哪里”。

最简单的“修复”是使用绝对路径(例如“/home/youruser/work/myapp/scheme.png”),重新编译应用程序并运行它。 -如果您提供了文件的完整路径,它应该可以工作。

关于c++ - FLTK-不显示Mac iOS图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61007445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com