2015-04-06 4 views
0

Как связать исполняемый файл в подкатегории проекта test проекта с библиотекой, скажем, libfoo, который только что создан из файлов в каталоге src того же проекта?Как связать с только что построенными библиотеками в проекте autotools

Makefile.am выглядит следующим образом:

SUBDIRS = src . test 
AUTOMAKE_OPTIONS = subdir-objects 
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 

Src/Makefile.am:

ACLCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 
lib_LTLIBRARIES = libfoo.la 
libfoo_la_SOURCES = \ 
    foo.cpp 
foo_includedir = $(includedir)/foo 
foo_include_HEADERS = \ 
    foo.hpp 

тест/Makefile.am:

ACLCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 
check_PROGRAMS = footest 
footest_SOURCES = \ 
    main.cpp 
footest_LDADD = ????? 

ответ

1

Это просто: footest_LDADD = ../src/libfoo.la

Это работает для ' out-of-tree ", например, если вы вызываете configure из другого каталога (не ./configure).

+0

Yeh, но выглядит грубым. Между прочим, я не чувствую себя хорошо с относительными путями. –

+2

@ sorush-r - вы также можете использовать переменные 'builddir' и/или' top_builddir', если это сделает вас более комфортными. –