0

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

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

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

4

1 回答 1

5

我认为编辑 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.

好吧,您可以使用此博客文章中的解决方案。我已经用 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)。

于 2009-12-25T16:51:07.840 回答