【问题标题】:Cannot compile Common-Qt无法编译 Common-Qt
【发布时间】:2014-08-24 13:00:38
【问题描述】:

我正在尝试使用 Quicklisp 编译 Common-Qt,方法是执行 (ql:quickload 'qt)。但是,当我尝试这样做时,出现以下错误:

OPERATION-ERROR while invoking #<COMPILE-OP > on #<CPP->SO "qt" "so" "commonqt">

转到安装文件夹后,我运行qmake,然后运行make,如建议的here。这失败了,出现以下错误:

commonqt.cpp: In function ‘void* sw_make_metaobject(void*, char*, int*)’: commonqt.cpp:263:58: error: cannot convert ‘char*’ to ‘const QByteArrayData* {aka const QArrayData*}’ in initialization QMetaObject tmp = { { parent, strings, data, 0 } };

这之后会出现更多错误,但这是一切的开始。这是怎么回事,我该怎么办?

【问题讨论】:

  • 你是如何安装 qt C++ 库和头文件的?你从哪里得到它们,它们是什么版本?
  • 我在 Manjaro Linux 上,所以 Qt 附带了它。从外观上看,它是 Qt4,因为所有实用程序(例如 Qt 助手)都是 4.8.6 版。

标签: qt common-lisp quicklisp


【解决方案1】:

这看起来像你(或 ASDF)试图用 QT5 编译 commonQt。在 shell 中,尝试:

qmake -v

这应该输出使用的 Qt 版本。一些发行版(我不知道 Manjaro Linux) 同时安装 Qt4 和 Qt5 并提供名为 qmake-qt4 和 qmake-qt5 的 qmake 替代品。 所以你可能想尝试运行:

qmake-qt4 commonqt.pro 制作

HTH,拉尔夫·马特斯

【讨论】:

  • 所以你的意思是我必须运行qmake-qt4 commonqt.pro,然后运行make?还是应该是qmake-qt4,然后是commonqt.pro,然后是make
  • 首先运行qmake-qt4,然后make:qmake-qt4 commonqt.pro make
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 2014-11-14
  • 1970-01-01
  • 2023-02-02
  • 2018-04-19
  • 1970-01-01
相关资源
最近更新 更多