<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ejudge.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=Libchecker%3A%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC</id>
	<title>Libchecker:Компиляция проверяющих программ - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ejudge.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=Libchecker%3A%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC"/>
	<link rel="alternate" type="text/html" href="https://ejudge.ru/wiki/index.php?title=Libchecker:%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;action=history"/>
	<updated>2026-04-21T19:25:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://ejudge.ru/wiki/index.php?title=Libchecker:%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;diff=4142&amp;oldid=prev</id>
		<title>Anna at 08:45, 24 February 2012</title>
		<link rel="alternate" type="text/html" href="https://ejudge.ru/wiki/index.php?title=Libchecker:%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;diff=4142&amp;oldid=prev"/>
		<updated>2012-02-24T08:45:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 08:45, 24 February 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[libchecker:Компиляция проверяющих программ]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[libchecker:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Компиляция проверяющих программ|&lt;/ins&gt;Компиляция проверяющих программ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;При компиляции проверяющих программ, использующих библиотеку &amp;lt;tt&amp;gt;libchecker&amp;lt;/tt&amp;gt; необходимо указывать опции компилятора, задающие пути к заголовочным файлам, пути к исполняемым файлам и т. п. Для этой цели рекомендуется использовать программу &amp;lt;tt&amp;gt;[[ejudge-config]]&amp;lt;/tt&amp;gt;,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;При компиляции проверяющих программ, использующих библиотеку &amp;lt;tt&amp;gt;libchecker&amp;lt;/tt&amp;gt; необходимо указывать опции компилятора, задающие пути к заголовочным файлам, пути к исполняемым файлам и т. п. Для этой цели рекомендуется использовать программу &amp;lt;tt&amp;gt;[[ejudge-config]]&amp;lt;/tt&amp;gt;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Anna</name></author>
		
	</entry>
	<entry>
		<id>https://ejudge.ru/wiki/index.php?title=Libchecker:%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;diff=4141&amp;oldid=prev</id>
		<title>Anna: Created page with &quot;Навигация: Главная страница/Система ejudge/Проверяющие программы/libchecker/[[libchecker:Компил...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ejudge.ru/wiki/index.php?title=Libchecker:%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC&amp;diff=4141&amp;oldid=prev"/>
		<updated>2012-02-24T08:44:51Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Навигация: &lt;a href=&quot;/wiki/index.php/Main_Page&quot; title=&quot;Main Page&quot;&gt;Главная страница&lt;/a&gt;/&lt;a href=&quot;/wiki/index.php/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_ejudge&quot; title=&quot;Система ejudge&quot;&gt;Система ejudge&lt;/a&gt;/&lt;a href=&quot;/wiki/index.php/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B&quot; title=&quot;Проверяющие программы&quot;&gt;Проверяющие программы&lt;/a&gt;/&lt;a href=&quot;/wiki/index.php/Libchecker&quot; title=&quot;Libchecker&quot;&gt;libchecker&lt;/a&gt;/[[libchecker:Компил...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Проверяющие программы]]/[[libchecker]]/[[libchecker:Компиляция проверяющих программ]]&lt;br /&gt;
&lt;br /&gt;
При компиляции проверяющих программ, использующих библиотеку &amp;lt;tt&amp;gt;libchecker&amp;lt;/tt&amp;gt; необходимо указывать опции компилятора, задающие пути к заголовочным файлам, пути к исполняемым файлам и т. п. Для этой цели рекомендуется использовать программу &amp;lt;tt&amp;gt;[[ejudge-config]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
передавая ей опции &amp;lt;tt&amp;gt;--cflags, --ldflags, --libs&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Опция &amp;lt;tt&amp;gt;--cflags&amp;lt;/tt&amp;gt; вызывает печать на стандартный поток вывода опций компилятора,&lt;br /&gt;
указывающих путь к заголовочным файлам библиотеки &amp;lt;tt&amp;gt;libchecker&amp;lt;/tt&amp;gt;. Опция &amp;lt;tt&amp;gt;--ldflags&amp;lt;/tt&amp;gt;&lt;br /&gt;
вызывает печать на стандартный поток вывода опций компилятора, указывающих пути к библиотечным файлам &amp;lt;tt&amp;gt;libchecker&amp;lt;/tt&amp;gt;. Наконец, опция &amp;lt;tt&amp;gt;--libs&amp;lt;/tt&amp;gt; вызывает печать на стандартный&lt;br /&gt;
поток вывода имен необходимых библиотек.&lt;br /&gt;
&lt;br /&gt;
Таким образом, строка компиляции проверяющей программы может выглядеть следующим образом:&lt;br /&gt;
 gcc ‘${prefix}/bin/ejudge-config --cflags --ldflags‘ check_A.c \&lt;br /&gt;
  -o check_A ‘${prefix}/bin/ejudge-config --libs‘&lt;br /&gt;
Здесь &amp;lt;tt&amp;gt;${prefix}&amp;lt;/tt&amp;gt; должен быть заменён на корень инсталляции системы &amp;lt;tt&amp;gt;ejudge&amp;lt;/tt&amp;gt;. Если&lt;br /&gt;
каталог &amp;lt;tt&amp;gt;${prefix}/bin&amp;lt;/tt&amp;gt; добавлен в переменную &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt;, вместо&lt;br /&gt;
&amp;lt;tt&amp;gt;${prefix}/bin/ejudge-config&amp;lt;/tt&amp;gt; можно просто писать &amp;lt;tt&amp;gt;ejudge-config&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Аналогичным образом может быть написан &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 EJUDGE_CONFIG = ${prefix}/bin/ejudge-config&lt;br /&gt;
 CC = gcc&lt;br /&gt;
 LD = gcc&lt;br /&gt;
 CFLAGS = $(shell $(EJUDGE_CONFIG) --cflags)&lt;br /&gt;
 LDFLAGS = $(shell $(EJUDGE_CONFIG) --ldflags)&lt;br /&gt;
 LDLIBS = $(shell $(EJUDGE_CONFIG) --libs)&lt;br /&gt;
 all : check_A&lt;br /&gt;
 check_A : check_A.o&lt;br /&gt;
 check_A.o : check_A.c&lt;br /&gt;
Здесь &amp;lt;tt&amp;gt;${prefix}&amp;lt;/tt&amp;gt; также должен быть заменён на корень инсталляции системы &amp;lt;tt&amp;gt;ejudge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если для создания и настройки турниров используется веб-редактор настроек турниров&lt;br /&gt;
в программе &amp;lt;tt&amp;gt;[[serve-control]]&amp;lt;/tt&amp;gt;, то все проверяющие программы могут быть скомпилированы&lt;br /&gt;
автоматически при выполнении команды “Check contest settings”. При этом корректные опции&lt;br /&gt;
компилятора будут указаны автоматически.&lt;/div&gt;</summary>
		<author><name>Anna</name></author>
		
	</entry>
</feed>