libQtScript.so.4 не найден при компиляции приложения Qt - PullRequest
0 голосов
/ 16 мая 2011

У меня проблемы с компиляцией приложения Qt на Solaris 10 (тьфу).Приложение зависит от libQtDesigner.Он отлично компилируется на всем, что я пробовал (Win 7, Mac, Ubuntu, RedHat).Тем не менее, в Solaris 10 я получаю следующую ошибку:

ld: warning: file libQtScript.so.4: required by /tools/Qt-4.6.1_32/lib/libQtDesigner.so, not found
Undefined                       first referenced
 symbol                             in file
QScriptValue QScriptEngine::newQObject(QObject*,QScriptEngine::ValueOwnership,const QFlags<QScriptEngine::QObjectWrapOption>&) /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptEngine::~QScriptEngine()         /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QString QScriptValue::toString()const /tools/Qt-4.6.1_32/lib/libQtDesigner.so
void QScriptEngine::popContext() /tools/Qt-4.6.1_32/lib/libQtDesigner.so
bool QScriptValue::isValid()const   /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptValue::~QScriptValue()          /tools/Qt-4.6.1_32/lib/libQtDesigner.so
void QScriptValue::setProperty(const QString&,const QScriptValue&,const QFlags<QScriptValue::PropertyFlag>&) /tools/Qt-4.6.1_32/lib/libQtDesigner.so
void QScriptValue::setProperty(unsigned,const QScriptValue&,const QFlags<QScriptValue::PropertyFlag>&) /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptValue QScriptContext::activationObject()const /tools/Qt-4.6.1_32/lib/libQtDesigner.so
int QScriptEngine::uncaughtExceptionLineNumber()const /tools/Qt-4.6.1_32/lib/libQtDesigner.so
bool QScriptEngine::hasUncaughtException()const /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptContext*QScriptEngine::pushContext() /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptValue QScriptEngine::evaluate(const QString&,const QString&,int) /tools/Qt-4.6.1_32/lib/libQtDesigner.so
bool QScriptEngine::canEvaluate(const QString&)const /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptValue QScriptEngine::newArray(unsigned) /tools/Qt-4.6.1_32/lib/libQtDesigner.so
QScriptEngine::QScriptEngine()         /tools/Qt-4.6.1_32/lib/libQtDesigner.so
ld: fatal: Symbol referencing errors. No output written to builder
make[2]: *** [builder/builder] Error 1
make[1]: *** [builder/CMakeFiles/builder.dir/all] Error 2
make: *** [all] Error 2

Я решил, что libQtScript.so.4 должен отсутствовать, поэтому я возился, но он определенно есть.Когда я запускаю ldd на libQtDesigner.so, он говорит, что он правильно связан с libQtScript.so.4.Кроме того, он находится в том же каталоге, что и libQtDesigner.so.Во всяком случае, я в полной растерянности.

Есть предложения?Заранее спасибо.

РЕДАКТИРОВАТЬ: Я думаю, что я нашел проблему, но я не уверен, как ее исправить.

Я запустил ldd из каталога, в котором находится libQtDesigner.so, и он дал мне такой вывод.

$ ldd libQtDesigner.so
    libQtScript.so.4 =>      ./libQtScript.so.4
    libQtXml.so.4 =>         ./libQtXml.so.4
    libQtGui.so.4 =>         ./libQtGui.so.4
    libQtCore.so.4 =>        ./libQtCore.so.4
    ...

Сначала я его не перехватил, но пути относительноэто проблема, когда я где-нибудь, но один и тот же каталог.

Как мне решить эту проблему?Должен ли я перекомпилировать Qt?

РЕДАКТИРОВАТЬ.Я идиот.У меня была опечатка в моем LD_LIBRARY_PATH

...