Почему & ldquo; pkg-config & rdquo; печатать только пробел с помощью & ldquo; - cflags & rdquo; вариант?

Я установил libcurl, используя: sudo apt-get install libcurl4-openssl-dev. Когда я пытаюсь скомпилировать свою программу, я читаю, что мы должны передать, где libcurl находится в компиляторе GCC (хотя для меня он расположен в / usr / include). Следовательно, в соответствии с http://ubuntuforums.org/showthread.php?t=1175115 я скомпилировал его, используя

gcc myfile.c $(pkg-config --libs --cflags libcurl) -o myprogram

, но если я только введу pkg-config --cflags libcurl, он ничего не печатает (только пустое пространство). Программа компилируется правильно, если я добавлю флаг и --libs. Я только не понимаю, почему pkg-config --cflags libcurl ничего не возвращает)

3
задан 22 July 2012 в 14:27

2 ответа

  • --cflags предназначен для предоставления вам любых флагов препроцессора или компиляции , требуемых для пакетов / библиотек в командной строке; вы получаете пустое место, потому что нет таких обязательных флагов для libcurl ; это совершенно нормально.
0
ответ дан 22 July 2012 в 14:27

Что такое команда, которая ничего не печатает?

У вас есть pkg-config --libs --cflags libcurl в $() в вашей команде gcc, и вы говорите, что она работает. Но вы упомянули команду pkg-config, которую вы запускаете, чтобы увидеть результат как pkg-config --cflags libcurl без --libs .

Возможно ли, что вы просто запускаете другую команду внутри $() в команде gcc, поскольку вы отдельно проверяете вывод?

Чтобы уточнить, пока страница руководства немного сбивает с толку Фактическое поведение двух команд отличается . Это из моей машины Ubuntu 11.10 amd64 с установленным libcurl4-openssl-dev:

ek@Apok:~$ pkg-config --libs --cflags libcurl
 -lcurl  
ek@Apok:~$ pkg-config --cflags libcurl

ek@Apok:~$
0
ответ дан 22 July 2012 в 14:27

Другие вопросы по тегам:

Похожие вопросы: