如何使用QtCreator将应用程序与"libqsqlpsql.so"链接?
how to link an app with "libqsqlpsql.so" by using QtCreator?
对不起!我知道这是一个愚蠢的问题,可能会在某个地方与某个问题重复,但我实际上无法搜索出来(既不是谷歌也不是StackOverflow)。因为我是从零开始学习Qt的,所以有太多的东西需要掌握,当问题出现时,我甚至无法确定应该搜索什么。
我制作了一个想要连接postgresql数据库的示例应用程序。为了确保我已经为postgresql提供了合适的数据库驱动程序,我首先检查了以下内容。
auto drivers = QSqlDatabase::drivers();
foreach( const QString& drv, drivers )
qDebug() << drv;
我看到输出包括"QPSQL"/"QPSQL7",我想我可以连接到数据库。
但当我实际添加进行连接的代码时,我会遇到一个链接错误:"找不到-lqsqlpsql"。以下是无法链接的代码:
auto db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName( "localhost");
db.setUserName("postgres");
db.setPassword("123456");
db.setDatabaseName("qtall");
if ( db.open() ) {
qDebug( "Opened!" );
我在"/home/myname/Qt5.12.3/5.12.3/gcc_64/plugins/sqldrivers"中找到了一个名为"libqsqlpsql.so"的文件,我想这就是我需要的库。因为构建应用程序的处理是在QtCreator中进行的,而不是直接使用gcc,所以我不能向gcc添加任何选项。我想一定有正确的方法来配置Qt-instad,但我不知道。
这是我的应用程序.pro:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = job-manager
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
SOURCES +=
main.cpp
mainwindow.cpp
HEADERS +=
mainwindow.h
FORMS +=
mainwindow.ui
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
unix:!macx: LIBS += -lqsqlpsql
欢迎任何提示!
我搞定了!
-
将"sql"模块附加到.pro文件的第一行,如下所示:
QT+=核心gui sql
2.删除(注释掉)同一文件的最后一行:
unix:!macx:LIBS+=-lqsqlpsql
事实上,我所做的并不是不够,而是太多了。只要我们将"sql"模块附加到第一行"Qt+=***",Qt就会自动找到共享库libqsqlpsql.so。
相关文章:
- 如何使用ndk-build.cmd构建Android.so文件
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- CLANG格式在缺少libtinfo.so.5库中不起作用
- C++ 运行时链接器错误 (liblog4cpp.so.5) Eclipse
- 使 ld 忽略来自 /etc/ld.so.conf 的目录
- N-API include an .so or dll
- 加载共享库时C++错误:libopencv_ximgproc.so.4.4
- 如何从构建 libgpio.so 的生成文件构建libgpio.a
- 用于构建 cuda .so 文件(共享库)的生成文件
- 无法从 SO 文件调用 SO 文件的函数 - C++生成文件
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 在jupyter notebook和google colab中使用.so
- 如何在 C++ 的 .so 文件中包含库
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- OpenVINO - 推理库插件 libMKLDNNPlugin.so 无法解析依赖关系
- 如何使用QtCreator将应用程序与"libqsqlpsql.so"链接?
- 添加符号 libgtest.so 错误:命令行中缺少 DSO
- 为什么C++可执行文件在与较新的libstdc++.so链接时运行得更快?
- libstdc++.so.6:添加符号时出错:命令行中缺少 DSO