c++ - FLTK 在 Cygwin 中的应用 : GUI doesn't show?

标签 c++ qt4 fltk

#include <FL/Fl.H>
#include <FL/Fl_Window.H>

int main() {
    Fl_Window win(400, 400);
    win.show();
    return Fl::run();
}

我正在使用“fltk-config --compile main.cpp”进行编译。代码编译顺利,但当应用程序运行时,我只得到一个控制台窗口,没有 GUI。

我也尝试过使用来自终端的流体(通过“fluid main.cpp”);我什至不确定我是否正确使用了它,因为据我所知,fluid 是一个图形编辑器。在任何情况下,结果都是“无法打开显示:”。我发现了同样的错误,但情况不同 here .该线程中有人建议执行“export DISPLAY=:0.0”,我试过了。现在,当使用流体时,错误已简单地更改为“无法打开显示:0.0”。

值得注意的是,我也尝试过使用Qt4作为框架(使用qmake/make编译),但我遇到了完全相同的问题。控制台加载,没有任何类型的 GUI,尽管使用了各种来源认为应该有效的代码。

编辑 我找到了 this问题。我使用 DependencyWalker 查找我的 .exe 使用的 .dll,并将这些 .dll 的拷贝直接放入我的项目文件夹中。这并没有解决我的问题,也没有以任何方式改变它。作为引用,我使用的 .dll 是:cygfontconfig-1cyggcc_s-1cygstdc++-6cygwin1>、cygX11-6cygXft-2kernel32

我也为 Qt 尝试了相同的解决方案,但还是没有成功。在那种情况下,.dll 是 cygwin1cyggcc_s-1cygstdc++-6cygqtcore-4cygqtgui-4kernel32

好消息是,我发现可以使用 Qt Creater SDK 成功构建应用程序,所以问题出在我手动编译的某个地方。无论如何,我还是想解决这个问题。我不喜欢将 SDK 用于小型项目,并且我希望我的库选项保持打开状态。

最佳答案

如果 fltk-config --cxxflagsfltk-config --ldflags 没有输出 -mno-cygwin,那么你的 FLTK 是编译为与 Cygwin 的 X Window 系统一起工作 - 你可能想要避免的事情。将 -mno-cygwin 添加到您的 Makefile 中,您的 FLTK 应用程序应该可以运行。

我一直更喜欢MinGW+MSYS。

关于c++ - FLTK 在 Cygwin 中的应用 : GUI doesn't show?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957534/

相关文章:

c++ - 如何解决生成运算符 = 赋值和复制构造函数的 VC++ 2012 错误?

c++ - Qt GUI 应用程序中的控制台输出?

c++ - push_back(新三角形)

c++ - 在 C++ 代码中使用 fprintf

c++ - 有没有办法将整数值限制在一定范围内而不分支?

C++:显式与隐式默认初始化

python - 来自 Python 的带有 Wincrypt 的 Diffie-Hellman(到 RC4)

c++ - 在 MSVC2010 Express 和 Qt 4.8 (Qt Creator 2.4.1) 中调试资源文件编译 (rc.exe)

qt - QDir 信息已更改

c++ - FLTK 绘制像素图给出段错误