问题是在qbs中解决这个问题:
这是一个由 QtCreator 生成的文件。我添加了
cpp.dynamicLibraries:[
"/usr/lib/qconsoledesigner/libqconsoletoolkit.so"
]
在
CppApplication {
Depends { name: "Qt.core" }
Depends { name: "Qt.network" }
cpp.cxxLanguageVersion: "c++11"
cpp.defines: [
"QT_DEPRECATED_WARNINGS",
]
cpp.dynamicLibraries:[
"/usr/lib/qconsoledesigner/libqconsoletoolkit.so"
]
consoleApplication: true
files: "main.cpp"
Group { // Properties for the produced executable
fileTagsFilter: "application"
qbs.install: true
}
}
这是 main();
#include <QCoreApplication>
#include "qconsoledesigner/qconsoletoolkit.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QConsoleToolkit ct;
return a.exec();
}
一切都很好。运行会产生此错误:
/home/.../qtc_Desktop_Qt_5_10_1_GCC_64bit_qt_qt5_Debug/install-root/MyProject:
error while loading shared libraries:
libqconsoletoolkit.so:
cannot open shared object file:
No such file or directory
在我将该 .so 物理复制到我的安装根目录之前,我知道必须有一个可以设置的 QBS 属性。
我曾尝试在https://doc.qt.io/qbs/qml-qbsmodules-cpp.html中使用各种与路径相关的属性,但我在黑暗中摸索。
谢谢。