【问题标题】:libsqlite runtime error in Qt Creator (macOS)Qt Creator (macOS) 中的 libsqlite 运行时错误
【发布时间】:2021-09-09 13:40:47
【问题描述】:

我在 macOS 11.4 (Big Sur) 上使用 Qt Creator 5.0 构建了一个 C++ 应用程序。构建系统是 CMake。应用程序非常简单;它只使用标准库和 OpenCV。我可以在终端上正常运行它,但是当我尝试在 Qt Creator 中运行它时,我收到一条奇怪的运行时错误消息,抱怨缺少 libsqlite。

15:28:37: Starting /Users/guel/projects/OpenCVSample/bin/umake/clang-12.0/x86_64/release/OpenCVSample ...
dyld: Library not loaded: /usr/lib/libsqlite3.dylib
  Referenced from: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
  Reason: Incompatible library version: CFNetwork requires version 9.0.0 or later, but libsqlite3.dylib provides version 0.0.0
15:28:37: The program has unexpectedly finished.
15:28:37: The process was ended forcefully.
15:28:37: /Users/guel/projects/OpenCVSample/bin/umake/clang-12.0/x86_64/release/OpenCVSample crashed.

我的应用程序实际上与 CFNetwork 或 libsqlite 无关。这个错误的原因可能是什么?

【问题讨论】:

  • 这似乎是您的 macOS 的问题。 CFNetwork 是一个系统库。您可以尝试更新到 11.5.2,看看它是否能神奇地解决这个问题。
  • 更新到 11.5.2 并没有解决问题。我意识到路径/usr/lib/libsqlite3.dylib 不存在;实际上,当我执行find / -name "libsqlite3.dylib" 时,我得到了不同的路径:/usr/local/Cellar/sqlite/3.36.0/lib/libsqlite3.dylib 以及不同 conda 环境下 Miniconda 中的其他一些 libsqlite.dylib。

标签: c++ macos qt-creator


【解决方案1】:

感谢this 的回答,我通过在我的项目运行部分取消选中“将构建库搜索路径添加到 DYLD_LIBRARY_PATH 和 DYLD_FRAMEWORK_PATH 复选框”解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多