QScintilla, пример проекта не работает - PullRequest
1 голос
/ 17 января 2010

Я хотел попробовать QScintilla. Поэтому я скачал и установил его, без проблем. Когда я запустил пример проекта, он сказал, что мне не хватает QtCored4.dll, поэтому я скопировал его в каталог, а затем сказал, что ему нужны другие dll, поэтому скопировал их тоже.

В конце выдает ошибку Visual C ++ Runtime. Он просто говорит, что закончился необычным образом.

Я знаю, что это расплывчато, но это просто состояние, никаких дополнительных сообщений об ошибках. Код с сайта, я не изменял его.

У кого-нибудь есть какие-либо подсказки по этому поводу?

Теперь, когда у меня возникла эта проблема, я подумал, что, возможно, мне следует расширить стандартный текстовый компонент Qt. И попробуйте сделать мой собственный компонент, такой как QScintilla.

Насколько сложно написать такой компонент, как QScintilla? (Не глядя на его источник)


Обновление: Итак, я загрузил пример проекта под Qt Creator. Установите конфигурацию по умолчанию в режим релиза и дайте ему поработать. И это сработало. (очень странно). Если я переключаюсь в режим отладки, Qt Creator говорит:

В функцию времени выполнения C передан недопустимый параметр.

Если я захожу в каталог в файловой системе (не в Qt Creator) и запускаю программу (режим выпуска), я получаю странные ошибки, о которых я говорил в комментарии. Пока я запускаю его из Qt Creator, он работает.

1 Ответ

0 голосов
/ 17 января 2010

У меня нет проблем с QScintilla. У меня Qt 4.6 скомпилирован из исходников с VC ++ 2008. После загрузки QScintilla-gpl-2.4.1 и распаковки я скомпилировал его с:

cd Qt4
qmake qscintilla.pro
nmake

и, наконец, установлен с

nmake install
copy %QTDIR%\lib\qscintilla2.dll %QTDIR%\bin

И во время компиляции и запуска примера у меня нет проблем.

Итак, сначала проверьте переменные окружения (Мой компьютер, Щелкните правой кнопкой мыши, Свойства -> вкладка «Дополнительно» -> Кнопка «Переменные среды»). Проверьте путь в разделе системных переменных. У меня есть% QTDIR% \ bin (c: \ Qt \ qt-4.6.0 \ bin) в этой переменной.

Во-вторых Меня интересует буква "d" в вашем сообщении:

QtCored4.dll

Если вы выполнили все шаги, описанные в документации, вы получите выпускную версию библиотек и выпускную версию примера приложения, связанную с выпускной версией библиотек Qt. И не отлаживать.

Наконец, может быть QTextEdit и QSyntaxHighlighter достаточно для ваших задач. Проверьте Пример подсветки синтаксиса .


Ответ на комментарии .

Это какая-то хорошо известная проблема (может быть). Итак, как вы можете видеть, у вас есть 2 разные папки с Qt libs

C:\Qt\2009.05\bin;C:\Qt\2009.05\qt\bin 

на вашем пути. Библиотеки в первой папке (... \ bin), скомпилированные с VS2008, и библиотеки во второй папке (... \ qt \ bin), скомпилированные с MinGW. Элементы в переменной пути ищутся при запуске вашего приложения. Внезапно папка с «неправильными» библиотеками появляется перед папкой с правильным элементом в вашей переменной пути. Что вы можете сделать, это скопировать QtCore4.dll, QtGui4.dll и другие библиотеки, которые вам нужны, в папку с исполняемым файлом приложения. Надеюсь, это поможет.

Некоторые ссылки по этой проблеме:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...