Использование Qwt в Mac OS X - PullRequest
       12

Использование Qwt в Mac OS X

0 голосов
/ 24 декабря 2009

Как мне скомпилировать и запустить Qt программы, использующие Qwt на Mac OS X?

Я всегда получаю сообщение о том, что не могу найти libqwt.dylib. Насколько я понял из моего поиска в Google, это не поможет установить DYLD_LIBRARY_PATH в environment.plist, так как Apple отключила это по соображениям безопасности, так как я должен это делать (без ручного копирования библиотеки в мой .app каждая перекомпиляция)?

Я пробовал оба qmake -spec macx-g++ и qmake без каких-либо спецификаций. На данный момент библиотека находится в /usr/local/qwt/lib. Должен ли я переместить его в какой-нибудь системный путь вручную или есть лучший способ сделать это (используя магию otool и install_name_tool)?

1 Ответ

5 голосов
/ 25 декабря 2009

Я думаю, что это плохая идея - отредактировать список 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. Это работает.

После запуска qmake -spec macx-g++ в каталоге распространения исходных текстов qwt (уже сделанного вами) отредактируйте 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).

...