powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / [C(gcc)]Компилирование
9 сообщений из 9, страница 1 из 1
[C(gcc)]Компилирование
    #34899458
fr33man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Если тему назвал не очень информативно -- сори. Незнаю, как назвать лучше.

Проблема: И так. Я добавил в системный файлик, который ищет пользователей, несколько строк, которые ищут пользователей в ldap. Начал компилировать... Скомпилировалось. Но не работает.

Данные: Добавил следующие строки:
Код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#include <ldap.h> 

...skipped... 
                if ( (ld = ldap_init( HOSTNAME, PORT_NUMBER )) == NULL ) 
                { 
                        perror( "ldap_init" ); 
                        return( (struct passwd*)NULL ); 
                } 

...skipped... 


В переменные окружения добавил:
Код:
Код: plaintext
1.
CPPFLAGS=-I/usr/local/include 
LDFLAGS=-L/usr/local/lib -lldap 



набрал make... Вроде все скомпилировалось, но при попытке поиска пользователя, которого нет в passwd выводит следующее:
Код:
Код: plaintext
1.
2.
3.
4.
5.
# id nouser 
id:/usr/lib/libc.so. 40 . 3 : undefined symbol 'ldap_init' 
lazy binding failed! 
Segmentation fault (core dumped) 
# 


Такое ощущение, что gcc при компиляции либу ldap'а не подключает..

Может кто-нить с таким сталкивался?

Заранее спасибо.
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34900565
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При компиляции либы добавь:

Код: plaintext
1.
CPPFLAGS=-I/usr/local/include  -DLDAP_DEPRECATED

Возможно у тебя то же самое:
ldap.h:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
#if LDAP_DEPRECATED
LDAP_F( LDAP * )
ldap_init LDAP_P(( /* deprecated */
        LDAP_CONST char *host,
        int port ));

LDAP_F( LDAP * )
ldap_open LDAP_P((      /* deprecated */
        LDAP_CONST char *host,
        int port ));
#endif

...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34902973
fr33man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не прокатило... Ладно, нафиг линковать либы...

Лучше подскажите... Например, если я запущу программу с помощью exec, то как мне передать переменные из запущенной программы в основную?
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34903054
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Окружение командная строка, разделяемая память
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34903113
fr33man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МОжно какой-нить примерчик насчет переменных окружения?
Чего-то не получается...
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34903629
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34905535
fr33man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нее. Мне нужно передать значения из запущенной программы в программу, которая запустила.

А не наоборот.
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34905576
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pipe, socket, разделяемая память, очередь системных сообщений
...
Рейтинг: 0 / 0
[C(gcc)]Компилирование
    #34905585
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fr33manнее. Мне нужно передать значения из запущенной программы в программу, которая запустила.

А не наоборот.

Тогда искать IPC (inter-process communication) - межпроцессовое взаимодействие в винде. Что там - память, сокеты, сообщения... ?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / [C(gcc)]Компилирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]