Статические и динамические библиотеки в одном проекте. (Как сделать?)

Модератор: Модераторы разделов

Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
28.03.2021 20:07
Должен сказать после linux, где статика это статика, такие приколы просто выносят мозг.
А в чём великий смысл такого? Какое то объяснение ведь должно быть.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
28.03.2021 20:10
А в чём великий смысл такого? Какое то объяснение ведь должно быть.
Может оно и есть, просто интерфейс для связывания заголовочников с динамическими библиотеками. Вроде там причина в удалении излишних связей с dll, т.е. из dll будут доступны только те функции, которые линковались в процессе компиляции. Ну и вроде как статическая библиотека может ссылаться на несколько dll.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Всё равно непонятно. Т.е. lib "вызывается" из dll? Или наоборот.
Хотя, я что-то подобное даже видел, вроде. Когда для сборки нужна, в явном виде, lib, а потом, для запуска приложения требуется dll рядом с exe. Но, это настолько странно, что аж, почти, понятно. :)
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

devilr писал(а):
28.03.2021 20:45
Всё равно непонятно. Т.е. lib "вызывается" из dll?
.lib нужно только для компиляции, там какие то объекты добавляются в бинарник, по средством этих объектов бинарник и работает с dll. Как то так. Если сравнить размеры dll и .lib, то можно увидеть, что .lib на несколько порядков меньше весит чем dll. Как это устроено шут его знает, особо не разбирался.
Скорее всего тут выигрыш удобстве линковки, так как для связывания нескольких dll достаточно одной .lib, и компилятору лишних параметров передавать не надо.
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
28.03.2021 20:52
.lib нужно только для компиляции, там какие то объекты добавляются в бинарник, по средством этих объектов бинарник и работает с dll.
Этакая "недобиблиотека" получается. Зародыш. Эмбрион. :D
Да. насколько криво, всё таки у них "там". Здесь должна быть картинка с Билли и "палцами".
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
28.03.2021 18:26
В линуксе всё собирается и работает, а вот с виндой - первый раз такие грабли.
А, ну тогда тем ещё выше вероятность, что дело в порядке аргументов. Потому что lg.gold он точно пофигистичен, актуальным версия ld.bfd, кажется, тоже (хотя полностью не уверен), а вот виндовый линковщик может быть более тупым.
ormorph писал(а):
28.03.2021 19:06
Это же винда, там все не так как у людей, хоть она и статическая, но она всего лишь прослойка для связывания с динамической.
Не, полноценные статические библиотеки там тоже вполне себе бывают и нормально линкуются. Там наоборот — с DLL невозможно слинковаться, пока парную к нему LIB линковщику не подсунешь. И, если мне память не изменяет, линковщику сама dll и не требуется, она понадобится только при запуске (могу ошибаться, давно с этим безобразием не связывался).
Добавлено (21:02):
Впрочем, чего ради я пытаюсь что-то объяснить, если в теме до сих пор ни лога сборки, ни pro-файла нет. ТС явно не заинтересован в решении проблемы.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
28.03.2021 20:59
ТС явно не заинтересован в решении проблемы.
Почему? Заинтересован. Просто форум то не виндовый. А так, сейчас могу даже проект прикрепить. Простой.
Вопрос в том, будет ли кто собирать. Прикрепить?
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Bizdelnick писал:
28.03.2021 20:59
Там наоборот — с DLL невозможно слинковаться, пока парную к нему LIB линковщику не подсунешь.
Хм, вроде должно. Например в Qt5 для винды в связке с qtcreator отсутствует драйвер Mysql, я его собирал под linux на mingw, а потом просто добавил dll-ки в винду и сборка под mysql начала работать. Хотя возможно это связанно с тем, что интерфейс sql-драйвер общий, и для него статическая библиотека .a уже имеется. Хотелось бы узнать где об этом подробно написано. Ато довольно много постов написано на эту тему и все мимо. Ну и насколько я помню в Delphi, можно было подключить dll, без использования .lib.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
28.03.2021 21:13
Вопрос в том, будет ли кто собирать. Прикрепить?
Собирать не буду, но сопоставить содержимое проекта с логом и предположить (или даже назвать точно) причину ошибки вполне могу. Что без них можно только гадать, я уже, вроде бы, давно писал.
Добавлено (21:30):
ormorph писал(а):
28.03.2021 21:14
Хотелось бы узнать где об этом подробно написано. А то довольно много постов написано на эту тему и все мимо.
Где написано — не знаю, сам разбирался методом тыка, когда понадобилось. И если хочется обсудить, давайте обсуждать не в этой теме. Хотя компетентные в этом вопросе люди вообще на других ресурсах обретаются.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Без проблем. Во вложении проект (без библиотек, ибо они слишком большие, да вы и собирать не будете, сами сказали)
Лог

Код: Выделить всё

21:29:37: Запускается: «H:\Qt\Tools\QtCreator\bin\jom.exe» 
	H:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Release
	cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DNDEBUG -DQT_NO_DEBUG -DQT_CORE_LIB -I. -Itesseract -IH:\Qt\5.15.2\msvc2019_64\include -IH:\Qt\5.15.2\msvc2019_64\include\QtCore -Irelease -IH:\Qt\5.15.2\msvc2019_64\mkspecs\win32-msvc -Forelease\ @C:\Users\User\AppData\Local\Temp\main.obj.7976.16.jom
main.cpp
	link /NOLOGO /DYNAMICBASE /NXCOMPAT /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:release\test_tesseract_windows.exe @C:\Users\User\AppData\Local\Temp\test_tesseract_windows.exe.7976.1969.jom
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl tesseract::TessBaseAPI::TessBaseAPI(void)" (??0TessBaseAPI@tesseract@@QEAA@XZ) в функции main.
main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __cdecl tesseract::TessBaseAPI::Init(char const *,char const *,enum tesseract::OcrEngineMode,char * *,int,class GenericVector<class STRING> const *,class GenericVector<class STRING> const *,bool)" (?Init@TessBaseAPI@tesseract@@QEAAHPEBD0W4OcrEngineMode@2@PEAPEADHPEBV?$GenericVector@VSTRING@@@@3_N@Z) в функции main.
release\test_tesseract_windows.exe : fatal error LNK1120: неразрешенных внешних элементов: 2
jom: F:\Private\Qt\_private_tests\test_tesseract_windows\Makefile.Release [release\test_tesseract_windows.exe] Error 1120
jom: F:\Private\Qt\_private_tests\test_tesseract_windows\Makefile [release] Error 2
21:29:39: Процесс «H:\Qt\Tools\QtCreator\bin\jom.exe» завершился с кодом 2.
Ошибка при сборке/развёртывании проекта test_tesseract_windows (комплект: Desktop Qt 5.15.2 MSVC2019 64bit)
Во время выполнения этапа «Сборка»
Вложения
test_tesseract_windows.tar.gz
(32.54 КБ) 14 скачиваний
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
28.03.2021 21:33

Код: Выделить всё

link /NOLOGO /DYNAMICBASE /NXCOMPAT /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:release\test_tesseract_windows.exe @C:\Users\User\AppData\Local\Temp\test_tesseract_windows.exe.7976.1969.jom
Я, может, чего не понимаю, но не вижу здесь вообще никакого упоминания библиотеки.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
28.03.2021 22:13
Я, может, чего не понимаю, но не вижу здесь вообще никакого упоминания библиотеки.
Однако, в pri файле она есть. И, если сделать ошибку в имени, это заметно.
Если раскомментировать строку

Код: Выделить всё

LIBS += $$PWD/lib/libtesseract.lib
ошибка будет другой.
Например

Код: Выделить всё

libtesseract.lib(baseapi.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
Я потому и тему начал - непонятно, как правильно это написать и собрать.
P.S. Всё-таки лучше было бы, если бы пробовал кто-то у кого есть оффтопик хотя бы в виртуалке, как у меня.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

Я не особо дружен с qmake, а с инструментами VS — и подавно, а проблема явно на стороне их связки. Но вот тут рекомендуют всё же указывать библиотеку опцией -l, а не путём к файлу. Попробуйте сделать так.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
28.03.2021 22:27
Если раскомментировать строку

Код: Выделить всё

LIBS += $$PWD/lib/libtesseract.lib
ошибка будет другой.
Например

Код: Выделить всё

libtesseract.lib(baseapi.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
Ещё бы видеть команду, которая эту ошибку выдаёт…
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Hephaestus »

ormorph писал(а):
28.03.2021 20:52
Если сравнить размеры dll и .lib, то можно увидеть, что .lib на несколько порядков меньше весит чем dll. Как это устроено шут его знает, особо не разбирался.
Глубоко я не копал, но обычно там несколько файлов .lib с разными именами, каждый из них -- это архив типа ar, в который упакованы либо объектные файлы, либо в нем содержатся какие-то хитрые ссылки на эти самые dll.
Последний раз редактировалось Hephaestus 29.03.2021 07:19, всего редактировалось 1 раз.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
28.03.2021 22:29
Попробуйте сделать так.
Пробовал я и так. Уже от безысходности. Будет та же ошибка об "обнаружено несоответствие для", что приведена, как пример в предыдущем моём посте.
Проблема в том, что ранее я подключал 100500 сторонних библиотек к Qt и собирал их всё тем же VS - проблем не было. А тут... :(
Добавлено (22:37):
Bizdelnick писал:
28.03.2021 22:31
Ещё бы видеть команду, которая эту ошибку выдаёт…

Код: Выделить всё

22:35:46: Запускается: «H:\Qt\Tools\QtCreator\bin\jom.exe» 
	H:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Release
	link /NOLOGO /DYNAMICBASE /NXCOMPAT /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:release\test_tesseract_windows.exe @C:\Users\User\AppData\Local\Temp\test_tesseract_windows.exe.6912.31.jom
libtesseract.lib(baseapi.obj) : найден .netmodule MSIL или модуль, откомпилированный с параметром /GL; перезапускается компоновка с параметром /LTCG; добавьте /LTCG в командную строку компоновки для повышения производительности компоновщика
libtesseract.lib(baseapi.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(edgblob.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pageres.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(stepblob.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(unicharset.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(strngs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blobs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ocrblock.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tprintf.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(osdetect.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(dict.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(recogtraining.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(applybox.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tessedit.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(output.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(control.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(linerec.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pagesegmain.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tesseractclass.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tessdatamanager.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blobclass.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pageiterator.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(intfx.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(adaptmatch.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(renderer.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(params.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(paragraphs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mutableiterator.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(equationdetect.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ltrresultiterator.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ccutil.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(unichar.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(resultiterator.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(normalis.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(quspline.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ratngs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ocrrow.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(rejctmap.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(werd.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(rect.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(points.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(scanedg.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(coutln.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(seam.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(matrix.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(boxword.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blamer.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(unicharmap.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(serialis.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(polyaprx.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(linlsq.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pdblock.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(polyblk.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blread.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(linefind.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tordmain.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tabvector.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(imagefind.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blobbox.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(context.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(dawg_cache.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(dawg.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(trie.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(boxread.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(chopper.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(statistc.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mainblk.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(params_model.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(lstmrecognizer.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ambigs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tface.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(fontinfo.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(reject.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(textord.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(fixxht.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tessbox.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(docqual.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(fixspace.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(adaptions.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(superscript.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(par_control.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ccstruct.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(werdit.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(stopper.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(imagedata.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(alignedblob.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(colfind.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(language_model.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pieces.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(wordrec.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(classify.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(devanagari_processing.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(featdefs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(picofeat.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(normfeat.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mf.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(intproto.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(trainingsample.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(adaptive.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tessclassifier.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(shapetable.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(outfeat.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(float2int.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(normmatch.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(cutoffs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(intmatcher.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(shapeclassifier.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ocrfeatures.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(protos.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(callcpp.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(colpartition.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(bbgrid.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(equationdetectbase.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(otsuthr.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(quadlsq.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(edgloop.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mod128.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(split.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(scanutils.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(makerow.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tabfind.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(detlinefit.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(hyphen.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(lm_state.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(segsearch.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(findseam.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(lm_pain_points.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(params_training_featdef.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(bitvector.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(recodebeam.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(networkio.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(unicharcompress.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(input.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(network.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(svutil.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(wordseg.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(baselinedetect.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tfacepp.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(wordclass.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(cutil_class.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(permdawg.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blobgrid.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(colpartitionset.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(ccnontextdetect.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(strokewidth.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(workingpartset.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(textlineprojection.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tablefind.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(colpartitiongrid.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(scrollview.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(lm_consistency.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(associate.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mfoutline.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(fpoint.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mfdefs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(mfx.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(indexmapbidi.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(intfeaturespace.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(clusttool.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(cluster.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(oldbasel.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(blkocc.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(gradechop.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(chop.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(stridemap.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(intsimdmatrix.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(reversed.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(lstm.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(maxpool.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(fullyconnected.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(convolve.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(reconfig.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(parallel.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(series.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tovars.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(cjkpitch.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tospace.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(fpchop.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(topitch.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(underlin.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(tablerecog.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(kdtree.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(outlines.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(plumbing.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(functions.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(weightmatrix.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(gap_map.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pitsync1.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(pithsync.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libtesseract.lib(simddetect.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(cin.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(locale0.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xlock.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(iosptrs.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(locale.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xmtx.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(wlocale.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xlocale.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xstrcoll.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xdateord.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xmbtowc.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xwctomb.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xwcscoll.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xwcsxfrm.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xgetwctype.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xtowlower.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xtowupper.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(xstrxfrm.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(StlCompareStringA.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(StlCompareStringW.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(StlLCMapStringW.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
libcpmt.lib(StlLCMapStringA.obj) : error LNK2038: обнаружено несоответствие для "RuntimeLibrary": значение "MT_StaticRelease" не соответствует значению "MD_DynamicRelease" в main.obj
LINK : warning LNK4098: библиотека по умолчанию "LIBCMT" конфликтует с использованием других библиотек; используйте /NODEFAULTLIB:library
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixRemoveAlpha.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixaAddBox.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixReadMem.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixReadMemFromMultipageTiff.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixGetInputFormat.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixGetWidth.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ boxaCreate.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixReadMemTiff.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixSetSpp.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ findFileFormatBuffer.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixReadFromMultipageTiff.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ boxaAddBox.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixaCreate.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixRead.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ boxCreate.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixReadTiff.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixaAddPix.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixDestroy.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixWrite.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixGetSpp.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixCopy.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixClone.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ findFileFormat.
libtesseract.lib(baseapi.obj) : error LNK2001: неразрешенный внешний символ pixGetHeight.
libtesseract.lib(stepblob.obj) : error LNK2001: неразрешенный внешний символ pixCreate.
libtesseract.lib(stepblob.obj) : error LNK2001: неразрешенный внешний символ pixGetDepth.
libtesseract.lib(osdetect.obj) : error LNK2001: неразрешенный внешний символ pixGetXRes.
libtesseract.lib(osdetect.obj) : error LNK2001: неразрешенный внешний символ pixSubtract.
libtesseract.lib(linerec.obj) : error LNK2001: неразрешенный внешний символ pixClipRectangle.
libtesseract.lib(linerec.obj) : error LNK2001: неразрешенный внешний символ boxDestroy.
libtesseract.lib(linerec.obj) : error LNK2001: неразрешенный внешний символ pixRotateOrth.
libtesseract.lib(linerec.obj) : error LNK2001: неразрешенный внешний символ pixConvertTo8.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixCreateTemplate.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixAnd.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixErodeBrick.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixInvert.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixSetOrClearBorder.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixCountConnComp.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixAddSingleTextblock.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixSeedfillBinary.
libtesseract.lib(pagesegmain.obj) : error LNK2001: неразрешенный внешний символ pixOr.
libtesseract.lib(tesseractclass.obj) : error LNK2001: неразрешенный внешний символ pixaConvertToPdf.
libtesseract.lib(tesseractclass.obj) : error LNK2001: неразрешенный внешний символ pixaGetCount.
libtesseract.lib(tesseractclass.obj) : error LNK2001: неразрешенный внешний символ bmfDestroy.
libtesseract.lib(tesseractclass.obj) : error LNK2001: неразрешенный внешний символ pixaDestroy.
libtesseract.lib(tesseractclass.obj) : error LNK2001: неразрешенный внешний символ bmfCreate.
libtesseract.lib(tesseractclass.obj) : error LNK2001: неразрешенный внешний символ pixaClear.
libtesseract.lib(pageiterator.obj) : error LNK2001: неразрешенный внешний символ ptaCreate.
libtesseract.lib(pageiterator.obj) : error LNK2001: неразрешенный внешний символ pixSetMasked.
libtesseract.lib(pageiterator.obj) : error LNK2001: неразрешенный внешний символ pixRasterop.
libtesseract.lib(pageiterator.obj) : error LNK2001: неразрешенный внешний символ pixDilateBrick.
libtesseract.lib(pageiterator.obj) : error LNK2001: неразрешенный внешний символ ptaAddPt.
libtesseract.lib(equationdetect.obj) : error LNK2001: неразрешенный внешний символ pixConvertTo32.
libtesseract.lib(equationdetect.obj) : error LNK2001: неразрешенный внешний символ pixForegroundFraction.
libtesseract.lib(equationdetect.obj) : error LNK2001: неразрешенный внешний символ pixRenderBoxArb.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixSetYRes.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixGetYRes.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixSetAllArbitrary.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixRemoveColormap.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixConvertRGBToLuminance.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixGetColormap.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixGetDimensions.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixGetWpl.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixSetXRes.
libtesseract.lib(thresholder.obj) : error LNK2001: неразрешенный внешний символ pixGetData.
libtesseract.lib(quspline.obj) : error LNK2001: неразрешенный внешний символ ptaDestroy.
libtesseract.lib(quspline.obj) : error LNK2001: неразрешенный внешний символ pixRenderPolyline.
libtesseract.lib(quspline.obj) : error LNK2001: неразрешенный внешний символ pixRenderPolylineArb.
libtesseract.lib(coutln.obj) : error LNK2001: неразрешенный внешний символ pixSetPixel.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixCloseBrick.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ boxaGetBoxGeometry.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixDistanceFunction.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixConnComp.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ boxGetGeometry.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ boxaDestroy.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixaGetPix.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixClearInRect.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixCountPixels.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ boxaGetCount.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ boxaGetBox.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixZero.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixOpenBrick.
libtesseract.lib(linefind.obj) : error LNK2001: неразрешенный внешний символ pixSetInRect.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixaDisplayTiledInColumns.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ boxaReplaceBox.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixReduceRankBinaryCascade.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixGenerateHalftoneMask.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixSetAll.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixExpandReplicate.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ composeRGBPixel.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixSetInRectArbitrary.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixaReplacePix.
libtesseract.lib(imagefind.obj) : error LNK2001: неразрешенный внешний символ pixClipBoxToForeground.
libtesseract.lib(blobbox.obj) : error LNK2001: неразрешенный внешний символ pixGetPixel.
libtesseract.lib(lstmrecognizer.obj) : error LNK2001: неразрешенный внешний символ pixRotate180.
libtesseract.lib(imagedata.obj) : error LNK2001: неразрешенный внешний символ lept_free.
libtesseract.lib(imagedata.obj) : error LNK2001: неразрешенный внешний символ pixScale.
libtesseract.lib(imagedata.obj) : error LNK2001: неразрешенный внешний символ pixWriteMem.
libtesseract.lib(devanagari_processing.obj) : error LNK2001: неразрешенный внешний символ pixCountPixelsByRow.
libtesseract.lib(devanagari_processing.obj) : error LNK2001: неразрешенный внешний символ numaGetIValue.
libtesseract.lib(devanagari_processing.obj) : error LNK2001: неразрешенный внешний символ numaDestroy.
libtesseract.lib(devanagari_processing.obj) : error LNK2001: неразрешенный внешний символ numaGetCount.
libtesseract.lib(trainingsample.obj) : error LNK2001: неразрешенный внешний символ pixSetText.
libtesseract.lib(textlineprojection.obj) : error LNK2001: неразрешенный внешний символ pixBlockconv.
release\test_tesseract_windows.exe : fatal error LNK1120: неразрешенных внешних элементов: 104
jom: F:\Private\Qt\_private_tests\test_tesseract_windows\Makefile.Release [release\test_tesseract_windows.exe] Error 1120
jom: F:\Private\Qt\_private_tests\test_tesseract_windows\Makefile [release] Error 2
22:35:48: Процесс «H:\Qt\Tools\QtCreator\bin\jom.exe» завершился с кодом 2.
Ошибка при сборке/развёртывании проекта test_tesseract_windows (комплект: Desktop Qt 5.15.2 MSVC2019 64bit)
Во время выполнения этапа «Сборка»
Это при

Код: Выделить всё

LIBS += -L$$PWD/lib -llibtesseract
Добавлено (22:39):
Просто пока я "удалённый отладчик", то ошибку можно будет искать очень долго.
Я то проверю любые исправления, не вопрос. Просто тема растянется на 100500 страниц...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
28.03.2021 22:35
Будет та же ошибка об "обнаружено несоответствие для"
Вообще по такой ошибке много что гуглится. В частности, совет добавить опцию /MT в CFLAGS для exe.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
28.03.2021 23:30
В частности, совет добавить опцию /MT в CFLAGS для exe.
Для интереса проверил - результат тот же. Да и https://docs.microsoft.com/ru-ru/cpp/build/reference/md-mt-ld-use-run-time-library?view=msvc-160 это как то не в ту степь, мне кажется. Хотя могли и криво перевести...
Добавлено (23:48):
Может где есть просто собранная библиотека libtesseract? Я бы просто качнул, подключил и забыл о проблеме. Собрать у меня её не получается. И найти тоже. :(
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
28.03.2021 23:44
Для интереса проверил - результат тот же.
Показывайте pro и лог сборки. Каждый раз, когда что-то меняете. Ну нет у меня телепатических способностей, мне надо всё глазами видеть.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

Битность интересно одна и та же?
Qt5 для винды 32 битная. Если только сами не собирали 64 битную.
Глянул по компилятор M$, а там темный лес, объекты нужно импортировать из dll, ну и еще нужна библиотека импорта .lib. Для mingw не нужно таких выкрутасов. Хотя он тоже может работать по такому принципу.
Короче этот код может заработать только на mingw, ну и под него должны быть собраны библиотеки...
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

С разрядностью там всё в порядке. В инсталляторе аж 4 варианта - под 32 и 64 бита.
А вот про специальные конструкции импорта, я как-то упустил из вида, спасибо.
Сегодня, позже, поиграюсь и сообщу результат.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

Да блин, ну погуглите ошибку-то. Библиотека и бинарь хотят линковаться с разными стандартными библиотеками (библиотека — MT, бинарь — MD), потому и не получается.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
29.03.2021 09:17
Да блин, ну погуглите ошибку-то. Библиотека и бинарь хотят линковаться с разными стандартными библиотеками (библиотека — MT, бинарь — MD), потому и не получается.
В бинарнике используются динамические библиотеки. От Qt. А библиотека - да, статическая. Проблема как раз в том, как это правильно совместить? О том и тема.
P.S. выше разные ошибки. Если использовать

Код: Выделить всё

LIBS += -L$$PWD/lib -llibtesseract
то будут одни ошибки, если

Код: Выделить всё

 PRE_TARGETDEPS += $$PWD/lib/libtesseract.lib
ошибки будут другие.
Но, в результате, ведь всё равно не собирается. Перебор - уже от отчаяния.
P.S. я уже выше писал - если удастся найти (или кто поделится) правильные библиотеки tesseract и пример их подключения, то я поблагодарю, запишу себе на память и закрою эту тему. Если с этой библиотекой не получится.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
29.03.2021 09:34
В бинарнике используются динамические библиотеки. От Qt. А библиотека - да, статическая. Проблема как раз в том, как это правильно совместить? О том и тема.
Перечитайте ещё раз сообщение, на которое отвечали. Вы его не поняли. И посмотрите ещё раз на доку, на которую выложили ссылку.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
29.03.2021 10:35
Перечитайте ещё раз сообщение, на которое отвечали. Вы его не поняли. И посмотрите ещё раз на доку, на которую выложили ссылку.
Вы о чём? "Библиотека и бинарь" они не обязаны быть оба статическими или оба динамическими. Иначе, получается, что разработчик всегда будет обязан выкладывать две версии своей библиотеки - в динамическом и статическом виде.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2600
ОС: Gentoo

Re: Статические и динамические библиотеки в одном проекте.

Сообщение ormorph »

А какую ошибку показывает при прямом пути к библиотеке .lib? Позже попробую собрать это под mingw. Недавно обновлялся и удалил mingw, с ним были проблемы. Теперь нужно по новой сгенерировать его crossdev. Qt5 для винды у меня собранная имеется.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
29.03.2021 10:52
Вы о чём? "Библиотека и бинарь" они не обязаны быть оба статическими или оба динамическими.
Они обязаны оба линковаться с одной и той же рантайм-библиотекой.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

ormorph писал(а):
29.03.2021 11:01
А какую ошибку показывает при прямом пути к библиотеке .lib?
Выше есть оба варианта. Там ошибки, либо "обнаружено несоответствие для" либо "undefined reference". В разных вариантах подключения.
Bizdelnick писал:
29.03.2021 11:30
Они обязаны оба линковаться с одной и той же рантайм-библиотекой.
Осталось понять, как это правильно делать.

Пока, чисто для себя, попробую сделать себе свою статическую библиотеку и попробую её прилинковать к своему же проекту. Вначале под linux, затем под win. Возможно, что натолкнёт на какие то мысли.
Добавлено (12:43):
Создал проект. Действительно, если под win собирается статическая библиотека, то файл только один - .lib.
Если динамическая: .lib и .dll
Но, всё работает. И в linux и в win.
Осталось найти нормально собранную библиотеку libtesseract. Или, в очередной раз, попытаться её собрать самостоятельно...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Статические и динамические библиотеки в одном проекте.

Сообщение Bizdelnick »

devilr писал(а):
29.03.2021 11:54
Осталось понять, как это правильно делать.
Как-то так. Поскольку упорно не показываете результат добавления опции, больше ничем помочь не могу.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Статические и динамические библиотеки в одном проекте.

Сообщение devilr »

Bizdelnick писал:
29.03.2021 14:32
Поскольку упорно не показываете результат добавления опции
Так показывать нечего. Я пробовал добавлять и к CFLAGS и к QMAKE_CFLAGS (что более правильно в случае с Qt) - ошибки те же.
Учитывая то, что собственноручно собранная статическая библиотека прилинковалась совершенно свободно, что в win, что в lin - проблема в найденной мной библиотеке. Соответственно,
devilr писал(а):
29.03.2021 11:54
Осталось найти нормально собранную библиотеку libtesseract. Или, в очередной раз, попытаться её собрать самостоятельно...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Ответить