c++ - 在 Mac OS X 上使用 Qwt

标签 c++ macos qt qwt

如何编译和运行 Qt使用 Qwt 的程序在 Mac OS X 上?

我总是收到一个错误,告诉我找不到 libqwt.dylib。对于我从谷歌搜索中了解到的内容,在 environment.plist 中设置 DYLD_LIBRARY_PATH 无济于事,因为 Apple 出于安全原因禁用了它,所以我应该怎么做它(无需为每次重新编译手动将 lib 复制到我的 .app)?

我已经尝试了 qmake -spec macx-g++qmake 没有任何规范。该库目前位于 /usr/local/qwt/lib 中。我应该手动将它移动到某个系统路径还是有更好的方法(通过使用 otool 和 install_name_tool 魔法)?

最佳答案

我认为编辑 environment.plist 或以任何其他方式更改您的配置文件设置以向其添加此类“非标准”路径是个坏主意。

我假设你的项目 *.pro 文件中有这样的东西:

INCLUDEPATH += /usr/local/qwt-5.2.0/include

LIBS += -L/usr/local/qwt-5.2.0/lib \
    -lqwt

或者您尝试运行其中包含所有这些附加路径的示例之一:

include( ../examples.pri )

无论如何你在程序开始时会收到这条消息:

dyld: Library not loaded: libqwt.5.dylib
Referenced from: /Users/kemiisto/Downloads/qwt-5.2.0/examples/histogram/histogram.app/Contents/MacOS/histogram
Reason: image not found
The program has unexpectedly finished.

那么,您可以使用来自 this解决方案博客文章。我已经用 Qt 4.6 和 Qwt 5.2 测试过它。它有效。

在 qwt 源分发目录(已由您完成)中运行 qmake -spec macx-g++ 后,编辑 src/Makefile。查找带有

的字符串
-install_name libqwt.5.dylib

让它看起来像这样(更改为完整路径)

-install_name /usr/local/qwt-5.2.0/lib/libqwt.dylib

现在(重新)构建 Qwt(make clean && make)并重新安装它(sudo make install)。

关于c++ - 在 Mac OS X 上使用 Qwt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1959580/

相关文章:

android - Qt QML for Android 错误

c++ - itemAt 不返回自定义 qGraphicsItem

c++ - 'QObject& QObject::operator=(const QObject&)' 是私有(private)的

c++ - 使用取消引用的字符串类型的 Vector 迭代器作为函数参数

c++ - 我不想在使用 std::cin 后换行

macos - SCNRenderer 快照并不总是应用抗锯齿

c++ - 使用 QThreads 未正确使用 CPU 内核

C++ 是否可以拥有一个包含具有不同类型参数的专用模板对象的容器?

cocoa - 忽略 AppKit 中的 UI 事件

ios - 从 ipad 控制 mac