Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 09.09.2009
Сообщений: 13

Компиляция PCRE 8.01 под Windows

13.02.2010, 17:59. Показов 2905. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Понадобилось использовать в программе регулярные выражения. Погуглил, выяснил, что наилучшим вариантом будет использование библиотеки PCRE (http://pcre.org). Проблема в том, что для установки под Windows требуется немного пошаманить с исходниками, о чем развернуто описано в ридмишке NON-UNIX-USE. Проблема в том, что русских документаций именно по компиляции lib-файлов я не нашел, а руководствуясь вышеозначенным доком, ничего толкового добиться не смог - тут и плохое знание английского и очень скудный опыт в программировании.

Библиотека, насколько я понял, очень распространена среди программистов и, наверняка, многие из вас ею пользуются... Большая просьба - объясните: как мне превратить исходные коды с сайта разработчика в две готовые к употреблению lib-библиотеки или выложите уже скомпилированные библиотеки (предпочтительнее - и то и другое, хочется все-таки понять, как это делается (хотя бы для последующих обновлений библиотеки)).

P.S. Альтернативы, вроде boost:regex или компонента TRegEx, просьба не предлагать. Я о них знаю и, если не получится с этой библиотекой, воспользуюсь ими. Тем не менее очень хочется разобраться в PCRE.

Заранее премного благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2010, 17:59
Ответы с готовыми решениями:

Компиляция под Windows 95
Подскажите, можно ли на откомпилировать проект на XE6 так, чтобы программа работала на Windows 95? (Сейчас при запуске exe-файла выдается...

компиляция под Linux. Возможно?
Есть готовая прога, написанная в с++ builder. Возможно ли ее без переработок откомпилировать под Linux?

Компиляция программ под Linux
Вечер добрый. Ребята подскажите возможно ли в Embarcadero XE4 писать программы под *unix? Если возможно, то приведите пожалуйста...

3
1 / 1 / 0
Регистрация: 09.09.2009
Сообщений: 13
14.02.2010, 22:06  [ТС]
Вот, собственно, инструкция... Понимаю, что едва ли среди форумчан найдется желающий все это для меня переводить и разжевывать но вдруг... Жирненьким выделены места, которые я вообще не понимаю.

GENERIC INSTRUCTIONS FOR THE PCRE C LIBRARY

The following are generic comments about building the PCRE C library "by hand".

(1) Copy or rename the file config.h.generic as config.h, and edit the macro
settings that it contains to whatever is appropriate for your environment
.
In particular, if you want to force a specific value for newline, you can
define the NEWLINE macro
. When you compile any of the PCRE modules, you
must specify -DHAVE_CONFIG_H to your compiler
so that config.h is included
in the sources.

An alternative approach is not to edit config.h, but to use -D on the
compiler command line
to make any changes that you need to the
configuration options. In this case -DHAVE_CONFIG_H must not be set.

NOTE: There have been occasions when the way in which certain parameters
in config.h are used has changed between releases. (In the configure/make
world
, this is handled automatically.) When upgrading to a new release,
you are strongly advised to review config.h.generic before re-using what
you had previously.

(2) Copy or rename the file pcre.h.generic as pcre.h.

(3) EITHER:
Copy or rename file pcre_chartables.c.dist as pcre_chartables.c.

OR:
Compile dftables.c as a stand-alone program (using -DHAVE_CONFIG_H if
you have set up config.h
), and then run it with the single argument
"pcre_chartables.c". This generates a set of standard character tables
and writes them to that file. The tables are generated using the default
C locale for your system. If you want to use a locale that is specified
by LC_xxx environment variables, add the -L option to the dftables
command.
You must use this method if you are building on a system that
uses EBCDIC code.

The tables in pcre_chartables.c are defaults. The caller of PCRE can
specify alternative tables at run time.

(4) Ensure that you have the following header files:

pcre_internal.h
ucp.h

(5) Also ensure that you have the following file, which is #included as source
when building a debugging version of PCRE, and is also used by pcretest.

pcre_printint.src

(6) Compile the following source files, setting -DHAVE_CONFIG_H as a compiler
option if you have set up config.h with your configuration, or else use
other -D settings to change the configuration as required.


pcre_chartables.c
pcre_compile.c
pcre_config.c
pcre_dfa_exec.c
pcre_exec.c
pcre_fullinfo.c
pcre_get.c
pcre_globals.c
pcre_info.c
pcre_maketables.c
pcre_newline.c
pcre_ord2utf8.c
pcre_refcount.c
pcre_study.c
pcre_tables.c
pcre_try_flipped.c
pcre_ucd.c
pcre_valid_utf8.c
pcre_version.c
pcre_xclass.c

Make sure that you include -I. in the compiler command (or equivalent for
an unusual compiler)
so that all included PCRE header files are first
sought in the current directory. Otherwise you run the risk of picking up
a previously-installed file from somewhere else.

(7) Now link all the compiled code into an object library in whichever form
your system keeps such libraries. This is the basic PCRE C library. If
your system has static and shared libraries, you may have to do this once
for each type.

(8) Similarly, if you want to build the POSIX wrapper functions, ensure that
you have the pcreposix.h file and then compile pcreposix.c (remembering
-DHAVE_CONFIG_H if necessary
). Link the result (on its own) as the
pcreposix library.

(9) Compile the test program pcretest.c (again, don't forget -DHAVE_CONFIG_H).
This needs the functions in the PCRE library when linking. It also needs
the pcreposix wrapper functions unless you compile it with -DNOPOSIX
. The
pcretest.c program also needs the pcre_printint.src source file, which it
#includes.

(10) Run pcretest on the testinput files in the testdata directory, and check
that the output matches the corresponding testoutput files. Note that the
supplied files are in Unix format, with just LF characters as line
terminators. You may need to edit them to change this if your system uses
a different convention. If you are using Windows, you probably should use
the wintestinput3 file instead of testinput3 (and the corresponding output
file). This is a locale test; wintestinput3 sets the locale to "french"
rather than "fr_FR", and there some minor output differences.

(11) If you want to use the pcregrep command, compile and link pcregrep.c; it
uses only the basic PCRE library (it does not need the pcreposix library).
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
29.07.2011, 19:49
Подскажите кто-нибудь, пожалуйста, как скомпилировать и установить последний PCRE (8.12) в C++ Builder? Хелп, который выше, ничего внятного не дает.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 21:22
Еcли тебе что то парсить надо почему не использовать boost/regex?
(его в принципи и ставить не надо, с Builder-ром идет старенька версия, но вполне приемлемо как по мне)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2012, 21:22
Помогаю со студенческими работами здесь

Компиляция программы под С++ Builder
Дорогие знатоки, помогите с одной проблемой. Сделал программу у меня все хорошо запускается, как только кидаю на другой комп, с ошибкой...

компиляция под другие машины
вот хотелось бы разобрать подробнее тему Компиляция программы под С++ Builder,чтобы работала на других компьютерах!... все сделал как в...

Компиляция кода под конкретную ОС
Есть ОС Windows, Linux, Android. Хочу понять базовые знание по тому как делается библиотека работающая на всех ОС. Допустим пишем...

Не идет компиляция под Мак
Запускаю проект в билдере с подключенным PAserver на виртаульной машине (Mavericks). Все проходит без сообщений об ошибках, но в итоге...

Компиляция под андроид из под Windows 10
Всем привет. У меня есть проект, реализованный с использованием QML + Qt 5.5.1 Он отлично компилируется под андроид из под Linux. Однако...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru