У меня проблемы с компиляцией приложения 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