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

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

13.02.2010, 17:59. Показов 2887. Ответов 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
8484 / 6151 / 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru