我有一个使用 QTDS 驱动程序的程序。
在开发环境中一切正常。在生产中,我同时拥有具有适当权限的 TDS 插件和 sybdb。
- -rwxr-xr-x 1 foxprd foxprd 47880 Jan 29 17:33 libqsqltds.so*
- -rwxr-xr-x 1 foxprd foxprd 472579 Jan 29 17:33 libsybdb.so*
它们都在已添加到 LD_LIBRARY_PATH 的目录中
然而我得到了
QSqlDatabase: QTDS driver not loaded
编辑 我也可以说:
app.libraryPaths()
指向一个目录,其中有一个包含所有库的 sqldrivers/ 目录如果我在 dev 中重命名这个目录,我会得到同样的错误,如果我把它放回去,它会再次工作。
- MyappDir/sqldrivers/libqsqltds.so
- MyappDir/sqldrivers/libsybdb.so
- MyappDir/sqldrivers/libsybdb.so.5
在 dev 中,当且仅当此目录在这里时,它才有效。在 Prod 中,这两种情况都不起作用。虽然“MyappDir/”总是列在
app.libraryPaths()