Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » WinDjView

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Открыть новую тему     Написать ответ в эту тему

AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WinDjView
 

WinDjView - это быстрая и компактная программа для просмотра файлов формата DjVu под Windows с вкладками для документов, непрерывной прокруткой страниц и расширенными возможности печати. Она основана на свободно распространяемой библиотеке DjVuLibre. Формат DjVu позволяет сохранять документы и картинки с высоким качеством в файлы малого размера. Программа WinDjView является свободным программным обеспечением. Вы вправе распространять её и/или модифицировать, соблюдая условия Открытого лицензионного соглашения GNU (GPL), опубликованного Free Software Foundation; либо версии 2 Соглашения, либо (по вашему выбору) любой более поздней версии.
 
Сайт: http://windjview.sourceforge.net/ru/
История изменений: http://windjview.sourceforge.net/version-history
 
Текущая версия: 2.1
Скачать WinDjView 2.1
 
Текущая версия для Win 98/ME: 1.0.3
Скачать WinDjView 1.0.3
Скачать WinDjView 1.0.3 archive-repack

WinDjView Extended 3.4 - WinDjView с дополнительными возможностями
Зеркало
Что нового? (17.01.2023)

В этом топике вы можете задавать вопросы по программе и сообщать об ошибках. На SourceForge.net есть страница проекта со своим форумом и базой ошибок и пожеланий, но если пользуетесь сервисами SF.net, то лучше использовать английский язык.
Если у вас имеется проблема, то сначала проверьте, не исправлена ли она в последней версии. Если нет, то опишите подробно по шагам ваши действия, полученный результат и ожидаемый результат. Также имеет значение версия операционной системы. Если проблемы проявляются только на некоторых документах, дайте линк на эти документы.
 
Как "подкрасить" фон страниц (для улучшения читабельности) (реализовано в WinDjView Extended)
Как оптом стереть все пользовательские аннотации/закладки (реализовано в WinDjView Extended)
Как пакетно декодировать все страницы многостраничного DjVu-файла (реализовано в WinDjView Extended)
Программа для отображения линии чтения в WinDjView (реализовано в WinDjView Extended)
 
Диалоги о WinDjView-subpix (форк программы с другой технологией рендеринга, для ЖК дисплеев; в версии 2.0 оригинальной программы так же появилась возможность настройки использования данной технологии):
[0], [1], [2], [3], [4], [5]

WinDjView в Википедии: http://ru.wikipedia.org/wiki/WinDjView

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 19:33 24-01-2006 | Исправлено: NME, 23:32 19-01-2023
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё, что нужно для сборки, уже выложено. Нужно скачать исходники (WinDjView-0.4.tar.gz), там есть файл проекта и makefile для либов. Либы генерятся командой nmake в каталоге libdjvu, в качестве параметров к nmake - четыре комбинации из двух опций "DEBUG=1" и "UNICODE=1" (с кавычками) - соответственно для четырёх конфигураций. После этого exe-шник генерится из VC6 с помощью проекта WinDjView.dsw

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 13:37 06-02-2006
IvanStorogev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обнаружил ряд трабл в WinDjView (v0.4):
1) Не выводятся на печать колонтитулы (header & footnote)
2) Не показывает DJVU документы с background закодированым в JPEG
3) На тему аннотаций автор, видимо, в курсе.

Всего записей: 45 | Зарегистр. 20-12-2005 | Отправлено: 15:20 06-02-2006
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IvanStorogev

Цитата:
Не показывает DJVU документы с background закодированым в JPEG

А что это за хитрый background такой?
 
Добавлено:
AndyZ
Заглянул в исходники EmbedBookmarks - смотрю, Вы там пишете с применением библиотеки ... STL (не помню точно название) . Интересно, а что это даёт? (т.е. уже так просто в исходниках Ваших не поковыряешься, надо лезть в Страуструпа и читать там, что к чему).

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 15:45 06-02-2006 | Исправлено: monday2000, 16:10 06-02-2006
IvanStorogev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:

Цитата:
Не показывает DJVU документы с background закодированым в JPEG
 
 
А что это за хитрый background такой?

 
Всё здесь:
DjVu File Format Specification Release November 2005

Всего записей: 45 | Зарегистр. 20-12-2005 | Отправлено: 16:22 06-02-2006
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IvanStorogev

Цитата:
Всё здесь:

Увидел вот что:

Цитата:
The background color image may be represented by a single “BGjp” chunk instead of several “BG44” chunks. The “BGjp” chunk contains a JPEG encoded color image (see JPEGDecoder.cpp). The resulting files are significantly larger and lack the progressivity of the usual DjVu files. This is useful because some scanners have embedded JPEG capabilities.
А какой прогой и как именно делается на практике такой background? Что-то особо не встречалось нигде - видимо, какая-то малоприменимая экзотика. В чём его смысл ? - как-то из цитаты неясно, а читать 71 стр. просто так - неохота. За практическими делами часто не до таких тонкостей - сделать бы основное. А вообще - полезная брошюренция, спасибо. Напоминает RFC по смыслу. Как раз искомый низкий уровень DjVu обрисован.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 16:37 06-02-2006 | Исправлено: monday2000, 16:53 06-02-2006
IvanStorogev

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А какой прогой и как именно делается на практике такой background? Что-то особо не встречалось нигде - видимо, какая-то малоприменимая экзотика. В чём его смысл ? - как-то из цитаты неясно, а читать 71 стр. просто так - неохота.  За практическими делами часто не до таких тонкостей  - сделать бы основное. А вообще - полезная брошюренция,  спасибо. Напоминает RFC по смыслу. Как раз искомый низкий уровень DjVu обрисован.

Делается с помощью phototodjvu.exe
phototodjvu --jpeg *.jpg test.djvu
 
Смысл такой операции в отсутствии перепаковки JPEG в IW44. Очень удобно разрозненные картинки объедмнять в один файл.

Всего записей: 45 | Зарегистр. 20-12-2005 | Отправлено: 17:21 06-02-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IvanStorogev
Цитата:
1) Не выводятся на печать колонтитулы (header & footnote)

Да, не выводятся. Не уверен, что это нужно, но в todo добавил.

Цитата:
2) Не показывает DJVU документы с background закодированым в JPEG

Не показывает. Причин две - во-первых, таких документов очень мало. Мне вообще ни одного ни разу не попадалось. Что, наверно, связано со второй причиной - слабая компрессия по сравнению с IW44. Поддержка JPEG приведёт к увеличению объёма файла, который мне по эстетическим соображениям нравится держать менее 500KB Я могу сделать поддержку JPEG средствами винды, без libjpeg, без увеличения объёма, но это потребует изменений в DjVuLibre и займёт некоторое время.

Цитата:
3) На тему аннотаций автор, видимо, в курсе.

Да, в курсе. Опять же, аннотации встречаются в малом количестве документов, а если встречаются, то обычно не несут смысловой нагрузки. Но они уже есть в todo.
 
monday2000
STL - стандартная библиотека C++, идёт в комплекте со всеми компиляторами. Это даёт то, что я её хорошо знаю и люблю использовать.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 19:35 06-02-2006 | Исправлено: AndyZ, 19:40 06-02-2006
foo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Либы генерятся командой nmake в каталоге libdjvu, в качестве параметров к nmake - четыре комбинации из двух опций "DEBUG=1" и "UNICODE=1" (с кавычками)

Нужно добавить в makefile команды создания ссответствующих папок в корневой директории для генерируемых либов, иначе же, если сначала запускать nmake генерятся ошибки вида: LIB : fatal error LNK1104: cannot open file "..\Release\libdjvu.lib"
А без либов не компилится экзешник . В превый раз на этом попытки откомпилить завершил.

Всего записей: 1210 | Зарегистр. 26-09-2002 | Отправлено: 00:08 07-02-2006
urriz77

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожелания по WinDjvu :
 
1.При переключении в двухстраничный режим хорошо бы текущую просматриваемую страницу отображать как левую, а не выравнивать на чётную , напр. если просматривается 3я страница,при переключении отображать 3ю и 4ю, а не выравнивать по чётной (2я и 3я).
 
2.Задействовать клавиши перехода Home/End, а не Ctrl-Home/End.
 
3.На некоторых файлах, настроенных на режим Fit Width для всего документа, не включается отображение в этом режиме (включается Actual Size).Кажется это связано с наличием гиперссылок на первой странице).
 
 
Добавлено:
Ещё при просмотре параметров страницы (правый щелчек/Page information) неправильно рассчитывается общий размер страницы и степень сжатия (не учитываются все слои).

Всего записей: 1 | Зарегистр. 28-12-2005 | Отправлено: 01:40 07-02-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
foo
Да, надо добавить. У меня-то такой проблемы ни разу не было, потому что все каталоги уже созданы.
 
urriz77
Цитата:
При переключении в двухстраничный режим хорошо бы текущую просматриваемую страницу отображать как левую, а не выравнивать на чётную , напр. если просматривается 3я страница,при переключении отображать 3ю и 4ю, а не выравнивать по чётной (2я и 3я).
На мой взгляд, это неправильно. Отображать ли первую страницу отдельно или нет - это определяется свойствами документа (например, как именно он был отсканирован), чтобы получились правильные развороты, а не текущей страницей. Для переключения этого режима нужно использовать пункт меню View->Layout->First page alone.

Цитата:
Задействовать клавиши перехода Home/End, а не Ctrl-Home/End.
Это можно сделать.

Цитата:
На некоторых файлах, настроенных на режим Fit Width для всего документа, не включается отображение в этом режиме (включается Actual Size). Кажется это связано с наличием гиперссылок на первой странице).
Я специально делал исправления для этой ситуации в версии 0.4. Если проблема повторяется, то, пожалуйста, дайте линк на файл.

Цитата:
Ещё при просмотре параметров страницы (правый щелчек/Page information) неправильно рассчитывается общий размер страницы и степень сжатия (не учитываются все слои).  
Линк на документ в студию. В любом случае это проблема с DjVuLibre, а не с WinDjView.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 13:58 07-02-2006 | Исправлено: AndyZ, 13:59 07-02-2006
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IvanStorogev

Цитата:
Смысл такой операции в отсутствии перепаковки JPEG в IW44. Очень удобно разрозненные картинки объедмнять в один файл.

По-моему, это уже такая экзотика... Имхо WinDjView мыслится не просто как очередной DjVu-просмотрщик, а именно в первую очередь как средство для чтения DjVu-книг (колхозных и им подобных). Потому и имхо такой акцент сделан на continuous scrolling - о чём Лизардам позаботиться явно недосуг - наверное, потому, что они-то и гоняются за подобным универсализмом.
Имхо то же самое касается колонтитулов (header & footnote). Я думаю, эта "буржуйская приблуда" актуальна только при дежавючении стопки листов белой бумаги (то, что представляет из себя обычный офисный документ). То есть это совершенно ни к чему в контексте создания и прочтения электронных DjVu-версий бумажных книг - то, что всех нас тут интересует в первую очередь (ни разу эта тема тут нигде вообще не звучала). Гоняться за воплощением каждой мелочи из спецификации - дорогое удовольствие. Может быть, лучше посмотреть на вещи максимально с практической стороны? WinDjView имхо и так самое лучшее сейчас средство для чтения DjVu-книг - по большому счёту, к WinDjView придраться просто не к чему - настолько он вылизан и проработан.
 
Добавлено:
AndyZ
Давно я хотел Вас спросить: имхо всё-таки бледновато и даже возможно чуть-чуть более размыто WinDjView отображает иногда (даже вроде бы не всегда) некоторые Djvu-документы. Вот скриншоты одной и той же страницы:
 
DjVu Plugin 5.0.2:  
http://img145.imageshack.us/img145/6200/plugin8cm.jpg  (98 КБ)
 
WinDjView 0.3.5:
http://img138.imageshack.us/img138/6762/windjview5xp.jpg  (88 КБ)
 
(Это какая-то спецификация - то ли эта  http://www.lizardtech.com/files/doc/techinfo/DjVu3Spec.djvu , то ли аналогичная). Видите разницу визуально? По-моему, есть. Что это? Я так думаю - это некое несовершенство самого DjVuLibre. И как бы тут побороться? (Желательно конкретный совет).

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 16:40 07-02-2006 | Исправлено: monday2000, 17:08 07-02-2006
foo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Давно я хотел Вас спросить: имхо всё-таки бледновато и даже возможно чуть-чуть более размыто WinDjView отображает иногда (даже вроде бы не всегда) некоторые Djvu-документы.  

Нужно настроить яркость и контрастность. Другое -в DjVuLibre действительно не очень удачный метод интерполяции, если добавлять свои, WinDjView будет кушать больше и медленнее показывать.

Всего записей: 1210 | Зарегистр. 26-09-2002 | Отправлено: 16:58 07-02-2006
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndyZ

Цитата:
Это даёт то, что я её хорошо знаю и люблю использовать.

А заодно - чтобы чужие шаловливые ручки там не баловались.  
 
И ещё у меня к Вам такой вопрос: можно ли использовать исходники WinDjView, чтобы скомпилировать (конечно, хотелось бы все ) консольные экзешники из последнего DjVuLibre (вот эти http://djvulibre.djvuzone.org/doc/index.html  )? Если "да" - может быть, это лучше Вам сделать? Извиняюсь за такое нахальство, просто если я туда полезу - ещё что-нибудь напортачу раз, и потом - это же Ваша разработка, как-то неудобно мне эксплуатировать продукт чужого труда вот таким образом. Либо посоветуйте мне как конкретно, и я сам попробую это сделать - не знаю, как лучше, но очень хочется наконец-таки составить готовые компиляционные проекты для DjVuLibre консольных экзешников под MS VC++ 6.0.
 
А тогда уже желающие смогут (в значительной степени) сами программировать то, что им нужно - если это будет достаточно просто.
 
Добавлено:
Да, можно будет тогда уже открыть тут, в "Программы" (а то и в "eBookz") тему по DjvuLibre - заинтересованные лица могут быть. (Например, рубордовец Илья Менжиров aka alih, да и другие могут найтись).

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 17:04 07-02-2006 | Исправлено: monday2000, 17:09 07-02-2006
foo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Я использую те алгоритмы, которые заложены в DjVuLibre. Там реализована быстрая билинейная интерполяция, причём для чёрно-белых документов есть отдельный оптимизированный алгоритм. Он действительно быстрый - ресайз картинок размерами 3000x4000 пикселей до ширины экрана происходит за доли секунды. Это идеально для непрерывного скроллинга - если скроллировать с разумной скоростью, то новые страницы всегда успевают отрисоваться в фоновом режиме. Цветные страницы ресайзятся медленнее, но всё равно достаточно быстро.
 
С год назад я пробовал другие open-source реализации ресайзинга, но они все работали существенно медленнее, чем текущий вариант. Если Вам удастся найти готовый алгоритм, который будет давать лучшее качество при сравнимом времени работы, то я могу его использовать.  

Посмотрите на алгоритм (оченно старинный, Фанта \Fant's resampling algorithm\), используемый  в pnmscale из netpbm библиотеки, он очень простой, но работает быстро, особенно версия на целых числах pnmscalefixed. Его, похоже, и используют лизардовцы, т.к. результаты ресемплинга отличить нельзя.
 
Могу написать/выдрать нужные функции, сообщите только интерфейс.
Если добавиться этот алгоритм, в качестве альтернативы, то WinDjView станет не подражаемой прогой

Всего записей: 1210 | Зарегистр. 26-09-2002 | Отправлено: 18:31 07-02-2006 | Исправлено: foo, 21:17 07-02-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
monday2000
Цитата:
можно ли использовать исходники WinDjView, чтобы скомпилировать (конечно, хотелось бы все) консольные экзешники из последнего DjVuLibre
Исходники WinDjView тут вроде ни при чём - но можно использовать подредактированную мной DjVuLibre и makefile. Нужно просто написать правильный makefile, чтобы компилить эти утилиты. Ну или проекты, если они Вам больше нравятся.

Цитата:
Вот скриншоты одной и той же страницы
Как ни странно, но мне скриншот из WinDjView нравится больше, потому что текст более сглаженный, а на скрине из плагина он более угловатый, и более заметно то, что буквы не находятся на одной линии по горизонтали. Я думаю, похожего эффекта можно достичь, уменьшая гамму. Ещё я заметил, что у ваших скриншотов подозрительно маленькое разрешение. На 1280x1024 всё выглядит гораздо лучше Да и оптимизировать под разрешение менее 1024x768 судя по статистике уже не имеет смысла.
 
foo
Цитата:
Могу написать/выдрать нужные функции, сообщите только интерфейс.
Например, интерфейс такой - на входе и на выходе DIB (то есть BITMAPINFO и указатель pBits).

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 21:30 07-02-2006 | Исправлено: AndyZ, 21:33 07-02-2006
foo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndyZ

Цитата:
Например, интерфейс такой - на входе и на выходе DIB (то есть BITMAPINFO и указатель pBits).

Т.е. вы хотите масштабировать уже на стадии вывода на экран, может быть лучше это делать  после получения данных (немасштабированных) из DjVuLibre, перед помещением в кеш? Т.е. делаем обертку для функций get_bitmap, get_fg_pixmap, get_bg_pixmap?
Или даже изменить саму DjVuLibre?

Всего записей: 1210 | Зарегистр. 26-09-2002 | Отправлено: 01:21 08-02-2006 | Исправлено: foo, 01:22 08-02-2006
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndyZ
Не получается создать lib-файлы из исходников WinDjView 0.4. Ни под Win98, ни под Win2000. Использую одну и ту же команду:
Цитата:
nmake "DEBUG=1" "UNICODE=0" /f makefile
(находясь в папке WinDjView-0.4\libdjvu)
 
Win98:
Цитата:
IFFByteStream.cpp(71) : fatal error C1034: assert.h: no include path set
IW44EncodeCodec.cpp
DjVuGlobal.h(73) : fatal error C1034: new.h: no include path set
IW44Image.cpp

Это у меня, видимо, какая-то системная переменная не прописана. Path = "C:\Program Files\Microsoft Visual Studio\VC98\Bin" я руками прописал в autoexec.bat. Надо что-то ещё прописать?
 
Win2000: Здесь я при инсталляции MS VC++ 6.0 сразу указал зарегистрировать переменные среды - и проблем типа "no include path set" не возникает уже. Но тут своё:
Цитата:
GRect.cpp(276) : warning C4244: 'return' : conversion from '__int64' to 'int', p
ossible loss of data
GRect.cpp(278) : warning C4244: 'return' : conversion from '__int64' to 'int', p
ossible loss of data
GRect.cpp(287) : warning C4244: 'return' : conversion from '__int64' to 'int', p
ossible loss of data
GRect.cpp(289) : warning C4244: 'return' : conversion from '__int64' to 'int', p
ossible loss of data


Цитата:
Generating Code...
LIB : fatal error LNK1104: cannot open file "..\Debug_Unicode\libdjvud.lib"
NMAKE : fatal error U1077: 'lib' : return code '0x450'
Stop.

В обоих ОС успевает сгенериться некоторое количество obj-файлов при этом. Да, ответьте, пожалуйста, на дурацкий вопрос -  в чём разница между "Debug" и "Release"? Всю жизнь ломаю над этим голову. И зачем мэйкфайлу указывать "UNICODE=0" или "UNICODE=1" - чем либы будут отличаться и есть ли подобный "Уникод-выбор" в "родной" последней DjVuLibre?
 
Добавлено:
AndyZ

Цитата:
Ну или проекты, если они Вам больше нравятся.

Да, хотелось бы уйти от компиляции lib-файлов, а просто понаделать dsw-проекты для каждого (для которого получится) консольного приложения на http://djvulibre.djvuzone.org/doc/index.html . Наверное, так сложнее тем, что потребуется включить в dsw-проект уйму других файлов (тех, из которых либы компилятся), но зато сохранится максимальная прозрачность и можно будет в любом dsw-проекте сразу прыгнуть на определение любой функции. Один разок помучаться и составить эти dsw-проекты, а потом просто уже открывать и подправлять, как кому надо, добавлять там свои cpp-файлы, или менять существующие.  
 
 
Добавлено:
В общем, взял я исходники djvulibre-3.5.16 и пытаюсь в лоб скомпилировать cjb2.cpp. Открыл его, компильнул в djvulibre-3.5.16\tools файл cjb2.cpp, создался dsw-проект, прописал в Tools - Options - Directories include-путь "C:\DJVU\DJVULIBRE-3.5.16\LIBDJVU". Теперь cjb2.cpp успешно компилируется, но экзешник, разумеется, пока не билдится. Подскажите, что надо сделать. Выдаются такие ошибки:

Цитата:
--------------------Configuration: cjb2 - Win32 Debug--------------------
Linking...
cjb2.obj : error LNK2001: unresolved external symbol "public: __thiscall GArrayBase::~GArrayBase(void)" (??1GArrayBase@@QAE@XZ)
cjb2.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall GException::~GException(void)" (??1GException@@UAE@XZ)
cjb2.obj : error LNK2001: unresolved external symbol "public: static void __cdecl GExceptionHandler::exthrow(class GException const &)" (?exthrow@GExceptionHandler@@SAXABVGException@@@Z)
cjb2.obj : error LNK2001: unresolved external symbol "public: __thiscall GException::GException(char const *

Ну и так далее. Пытаюсь добавлять в проект "Project" - "Add to project" - "Files" наугад cpp-файлы из "C:\DjVu\djvulibre-3.5.16\tools" - такие, где windows-поиском можно найти имена из списка ошибок unresolved external symbol. Надо ли включать ещё и одноимённые (соответствующие) h-файлы при этом? (Или нужные заголовки функций уже сидят в каком-нибудь большом уже подключённом h-файле?) А то, чем больше я добавляю cpp-файлов, тем больше ошибок unresolved external symbol. Подскажите пожалуйста, что надо сделать, чтобы получить cjb2.exe таким способом (не создавая заранее свои lib-файлы). То есть, правильно ли я действую? Просто я ещё не успел до конца так дойти - ошибок-то всё больше и больше. А дальше, если разберусь, уже буду сам пробовать другие экзешники сделать - по аналогии.
 
То есть важно не просто сделать экзешники, а именно составить dsw-файлы для каждого из них - чтобы юзер потом запустил dsw-файл, нажал пункт "Rebuild all" и всё, и получил Windows-экзешник (ну там include-пути прописать самое большее чтобы ему).

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 11:43 08-02-2006 | Исправлено: monday2000, 12:18 08-02-2006
foo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
monday2000

Цитата:
Generating Code...
LIB : fatal error LNK1104: cannot open file "..\Debug_Unicode\libdjvud.lib"
NMAKE : fatal error U1077: 'lib' : return code '0x450'
Stop.

Предварительно нужно создать соответствующие папки ..\Debug_Unicode, ..\Debug, ..\Release_Unicode, ..\Release или попытаться откомпилировать сами проекты WinDjView, тогда они создадуться автоматически и либы собирутся нормально.

Всего записей: 1210 | Зарегистр. 26-09-2002 | Отправлено: 13:03 08-02-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
foo
Цитата:
...может быть лучше это делать  после получения данных (немасштабированных) из DjVuLibre, перед помещением в кеш? Т.е. делаем обертку для функций get_bitmap, get_fg_pixmap, get_bg_pixmap?
Я имел в виду именно такой вариант.
 
monday2000
Цитата:
Надо что-то ещё прописать?
Нужно настроить переменные среды INCLUDE, LIB и PATH. Это делает либо инсталлятор, либо файл vcvars32.bat. На предупреждения не обращайте внимания.

Цитата:
nmake "DEBUG=1" "UNICODE=0" /f makefile
Если мейкфайл называется makefile, то ключ /f указывать не обязательно. И "UNICODE=0" не надо. То есть варианты команд такие: nmake, nmake "DEBUG=1", nmake "UNICODE=1" и nmake "DEBUG=1" "UNICODE=1". Кавычки, наверно, необязательны.

Цитата:
в чём разница между "Debug" и "Release"?
В опциях компилятора и в подключаемых библиотеках. В debug включена отладочная информация, а в release нет. Кроме того, в debug выключены оптимизации, а в release они, наоборот, включены.

Цитата:
И зачем мэйкфайлу указывать "UNICODE=0" или "UNICODE=1" - чем либы будут отличаться и есть ли подобный "Уникод-выбор" в "родной" последней DjVuLibre?
Я подозреваю, что ничем. Это просто для consistency - чтобы уникодный exe файл линковался с уникодной либой. Опция UNICODE даёт то, что вызываются специальные unicode-варианты WinAPI функций.

Цитата:
что надо сделать, чтобы получить cjb2.exe таким способом (не создавая заранее свои lib-файлы)
Создать проект, в который включены все используемые cpp файлы (включая файлы из djvulibre). Лучше конечно создать отдельный проект для djvulibre, который будет генерить lib, и отдельный проект для cjb2, который будет с этой либой линковаться, добавить их в один и тот же workspace и проставить project dependencies.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 14:43 08-02-2006 | Исправлено: AndyZ, 14:50 08-02-2006
monday2000

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
foo
AndyZ
Спасибо за ответы! Очень существенно. Буду теперь обязательно "грызть" по крайней мере cjb2.cpp.
AndyZ

Цитата:
проставить project dependencies.
А что это такое - "project dependencies"? Просто я при написании своих простейших консольных прог всегда обходился 1 dsw-проектом. Я всё это дело изучал вот по этой книжке: http://downloads.ebuki.apvs.ru/_UNSORTED/Microsoft.Press.Programming.Windows.5th.Edition.chm - прочитал её с экрана почти всю год назад.

Всего записей: 2841 | Зарегистр. 13-01-2005 | Отправлено: 17:22 08-02-2006 | Исправлено: monday2000, 17:23 08-02-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » WinDjView


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru