я смотрел также, в течение нескольких недель теперь. это - h323 и видео. если Вам не нужен h323, или Вам не нужно видео, это - совершенно другая история, и у Вас есть много опций.
в зависимости от ОС, и загружавший сотни мегабайтов и исходного кода и приложений, через все 3 основных Ose Linux, окна и macosx, вот - то, что я нашел работами:
Linux - выбором является ekiga., это - все, что Вы получаете. нет никакого другого рабочего видео h323 клиентов, и ekiga не в широком масштабе стабилен в этом.
macosx - существует xmeeting., получают версию 0.42, потому что это немного лучше.
окна - myphone3 из openmcu.ru работают очень очень хорошо. это - ад для нахождения, потому что сайт на русском языке и не индексируется очень хорошо, плюс имя "myphone" придумывает все виды дерьма в поисковых системах Google, которое делает его еще тяжелее для нахождения. я попробовал 3.0.9, и это работает действительно хорошо. http://openmcu.ru/public/myphone3/
теперь, если Вы не возражали использовать SIP вместо этого, затем существует адская партия больше опций. работы ekiga вполне прилично и работы jitsi вполне прилично через все 3 платформы..., но нет никаких стабильных серверов видеоконференций для Linux! хотя звездочка 10 и выше теперь имеет "app_confbridge", необходимо использовать те же самые КОДЕКИ для видео, потому что app_confbridge просто делает "передачу" видеоданных (широковещательные сообщения всем связанным клиентам).
единственный стабильный достойный сервер видеоконференций, который я мог найти, был openmcu - но не стандартная версия: только версия на openmcu.ru, найденном здесь: http://openmcu.ru/public/sources/
удача - и если Вы находите что-нибудь лучше сообщенным мне!
Краткий обзор того, как записать и скомпилировать программы в Усовершенствованном Программировании в UNIX® Environment благодаря slm для помощи мне понять шаги. Можно загрузить исходный код отсюда. Мне жаль, что эта информация не была включена как часть приложения b книги, где заголовочный файл объяснен.
Несжатый файл содержит каталоги с названиями глав, и два других назвали include
и lib
. У тех с названиями глав есть все программы той главы в них.
include
каталог содержит заголовочный файл, который используется в большинстве программ в книге: apue.h
. lib
каталог имеет исходный код реализаций для того заголовка.
Позволяет предполагают, что несжатый файл расположен в: SCADDRESS/
, например, это могло бы быть: /home/yourid/Downloads/apue.3e/
После того как Вы распаковываете исходный код, входите в каталог и работаете make
:
$ cd SCADDRESS
$ make
make
скомпилирует все программы во всех главах. Но важная вещь состоит в том, что прежде, который, это сделает библиотекой, которая будет содержать реализации функций в apue.h
.
Для компиляции примера программы, который Вы пишете из книги работайте, эта команда GCC (берущий имя Вашей программы myls.c
который является первым в книге):
gcc -o myls myls.c -I SCADDRESS/include/ -L SCADDRESS/lib/ -lapue
-I
говорит gcc
какой каталог искать включать файл. -L
говорит этому местоположение каталога библиотеки, и -lapue
, говорит названию файла библиотеки искать в том каталоге. Таким образом, что-LXXX означает искать файл в каталоге библиотеки с именем: libXXX.a или libXXX.so.
Я думаю это stackoverflow названные Вопросы и ответы: Где функция err_sys () определена? имеет то, в чем Вы нуждаетесь. 2 из ответов в том потоке сказали следующее:
A1
err_sys () является функцией, используемой в нескольких книгах, записанных W. Richard Stevens. Эта функция используется для печати, какая ошибка произошла.
Функция используется в программах в текстах с пользовательским заголовочным файлом "ourhdr.h" (или что-то еще). Проверьте приложение на список заголовков или функциональное определение.
A2
Источник для этой функции (от Усовершенствованного Программирования в UNIX® Environment, W. Richard Stevens), может быть найден на веб-сайте книги: http://www.apuebook.com/.
err_sys
просто пример, в том заголовочном файле существуют другие функции. Таким образом, я ищу универсальное решение этой проблемы (как включать заголовочный файл и успешно скомпилировать его), не переписывая эту конкретную функцию.
– makhlaghi
17.12.2013, 06:20
gcc
использование -L
аргументы, ссылающиеся на библиотеки для использования. Библиотеки .so
или .a
файлы. Это учебное руководство могло бы быть полезным в знакомстве w/ gcc
, ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html. Конкретно этот раздел: "Ища Заголовочные файлы и Библиотеки (-I,-L и-l)"
– slm♦
17.12.2013, 06:32
gcc -o myls myls.c -L LIBPOSITION -lapue
. Где LIBPOSITION находится в lib
каталог несжатого каталога. Еще раз спасибо.
– makhlaghi
17.12.2013, 06:54
Следующие шаги сработали для меня (Ubuntu 14.04 64bit):
wget http://www.apuebook.com/src.3e.tar.gz
Скачайте gzipped tar архив с официального сайта книгиtar xzf src.3 e.tar.gz
Это создаст разархивированную папку под названием apue.3e
в текущем каталоге по умолчаниюcd apue.3e
sudo apt-get install libbsd-dev
. Это нужно для ссылки -lbsd в /threadsmake
Это автоматически скомпилирует весь исходный код во всех папкахcd intro
затем ./ls1 ...
работает как ожидалось (перечисляет файлы из родительского каталога)Возможно, вам придется поискать в grep, чтобы найти другие фрагменты кода из книги, но это должно быть просто.
Я успешно собрал библиотеку, используя приведенную здесь инструкцию командной строки. У меня возникли трудности с созданием примера в Xcode. Для этого я определил пути поиска для файлов заголовков и библиотек (панель "Build Settings"). Затем я определил саму библиотеку в панелях "Build Phases" и "Link Binary With Libraries". После этого все просто.
'err _sys' и 'err _quit' присутствуют в файле 'errno.c', которого нет в вашем текущем рабочем каталоге. Прежде всего, откройте папку «apue», которую вы загрузили и распаковали, и скопируйте все элементы в этой папке, например, advio, daemons и т. д., все в ваш текущий рабочий каталог. Вы можете узнать свой текущий рабочий каталог, с помощью команды «pwd». Теперь в папке «include» вы найдете заголовочный файл apue. Скопируйте его также в текущий рабочий каталог. Короче говоря, любой файл.c, который вы собираетесь использовать в своей программе, должен находиться в вашем текущем рабочем каталоге. Итак, скопируйте все эти файлы в ваш текущий рабочий каталог.
Теперь перейдем к решению вашей проблемы. Файл errno.c находится в папке lib в папке apue. Скопируйте его в текущий рабочий каталог. Это решит вашу проблему.
-Wall
кgcc
команда, чтобы заставить его предупреждать чаще. – MattBianco 03.11.2014, 11:14