string".split("\n").size
работает хорошо. Мне нравится, что он игнорирует конечные строки, если они не содержат контента.
"Hello\nWorld\n".split("\n") # => ["Hello", "World"]
"hello\nworld\nfoo bar\n\n".split("\n").size # => 3
Возможно, это не то, что вам нужно, поэтому используйте lines()
, как предложено @Anurag, если вам нужно соблюдать все новые строки.
"hello\nworld\nfoo bar\n\n".lines.count # => 4
Из руководства Automake (в основном §8.1.2 , но также §8.4 ):
PROG_LDADD
не подходит для передача специфичных для программы флагов компоновщика (кроме-l
,-L
,-dlopen
и-dlpreopen
). Итак, используйтеPROG_LDFLAGS
переменная для этого
Это означает, что вы можете (но на самом деле должны) использовать -l
и -L
в LDADD
, а не в LDFLAGS
]. Другими словами, ваш Makefile.am
должен просто читать
myprog_DEPENDENCIES = adhoc-target
myprog_SOURCES = myprog.c
myprog_LDADD = libmine.la -L/home/user/lib -ladhoc
myprog_LDFLAGS = -static
One idea from the automake book (http://sources.redhat.com/autobook/autobook/autobook_92.html): create a convenience library out of libmine and libadhoc, and link myprog against that.