Я работаю над мультиплатформенной программой C
. Makefile стал довольно сложным из-за различных компиляторов, расположения библиотек и т. Д. На каждой машине. Я подумал, что Autoconf/Automake
было бы хорошим решением, хотя мой предыдущий опыт использования этих инструментов был минимальным.
У моего Makefile.am
есть строка LIBS=-lX11
, но связывание завершается ошибкой "/usr/bin/ld: cannot find -lX11"
. Я могу обойти это, добавив "-L/usr/X11R6/lib/"
к определению LIBS
, но нужно ли мне это делать? Когда я запускаю ./configure
, он говорит:
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
Так что, похоже, Automake должен знать, где его найти. Есть ли способ, которым я могу ссылаться на его местоположение в Makefile.am
без необходимости его жесткого кодирования, поскольку X11 libs
будет находиться в разных местах на каждой машине?