qt - 在 qmake 中允许未定义的符号
问题描述
我使用 qmake 和 .pro 文件来生成我的 VisualStudio .vcxproj 文件。
我创建了一个静态库,其中包含用于我所有错误处理的辅助函数。这包括用于从 QSqlTableModel 和 QSqlQuery 中获取错误代码的包装器。
我的图书馆项目有 QT += sql 为了支持这些方法。
我试图避免将 QT += sql 依赖项添加到链接库但不使用 sql 的应用程序中。
我已将 QSqlTableModel 和 QSqlQuery 作为指针传递到库中并转发声明它们,因此我可以毫无问题地进行编译。
但我得到链接器错误未解决的外部符号“__declspec(dllimport) public: class QSqlError __cdecl QSqlQueryModel::lastError(void)const”
我可以通过将 QT += sql 添加到我的应用程序来轻松解决链接器错误。
但是,鉴于我的应用程序永远不会真正调用它,我是否可以让链接器愉快地继续前进(如果我曾经调用它,可能会让应用程序抛出一个大的结构化异常)?
解决方案
但是,鉴于我的应用程序永远不会真正调用它
然而,你的静态库中的函数会调用它,这就是你需要QT+=sql
.
推荐阅读
- arrays - Powershell循环通过事件日志
- mysql - SQL Union all throws SQL Syntax error 但两个 SELECTS 都可以
- windows - 创建最新文件版本的副本,并在 windows 批处理文件中将文件名中的版本增加一个
- firefox - svg 噪声未在 Firefox 中显示
- python - 关闭第二个 Tkinter 窗口不起作用
- c# - 使用自定义 Outlook Web App 插件设置电子邮件的类别
- php - 使用 select 和 with 时 Lumen/Laravel 获取属性
- r - R中顺序计算步骤的向量化
- c++ - 当映射包含字符串向量作为值时从值中获取键的有效方法
- objective-c - C函数中可以有两种返回类型吗?