Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

yacc & lex

257 views
Skip to first unread message

Masayoshi Katou

unread,
Feb 25, 2002, 10:59:08 PM2/25/02
to
ひさしぶりに投稿します。かとうと申します。

投稿先がわからなかったのでこちらに投稿させていただきます。

現在、yacc/lex プログラムジェネレータ on UNIX(TECHNOPRESS)の
書籍で勉強しているのですが、一番最初のコンパイル方法で
yacc smpint.y
lex smpint.l
cc y.tab.c -ly -ll
を行うと
/usr/bin/ld:cannot find -ly
collect2:ld returned 1 exit status
とccのコンパイルを行う時点でエラーが出てしまいます。

解決方法をご存知の方いらっしゃいましたらご教授願えないでしょうか?
よろしくおねがいします。

山西 守

unread,
Feb 25, 2002, 11:32:28 PM2/25/02
to
山西@岡山大学ともうします。

> 現在、yacc/lex プログラムジェネレータ on UNIX(TECHNOPRESS)の
> 書籍で勉強しているのですが、一番最初のコンパイル方法で
> yacc smpint.y
> lex smpint.l
> cc y.tab.c -ly -ll
> を行うと
> /usr/bin/ld:cannot find -ly
> collect2:ld returned 1 exit status
> とccのコンパイルを行う時点でエラーが出てしまいます。

どっちかというとリンクエラーじゃないでしょうか。

読んで字のごとく、-lyでリンクされるべきライブラリーが見つからない
のですから、それをちゃんと指定してやれば良いのでしょう。

liby.(so|a)やlibl.(so|a)のおかれているパスを-Lフラグで指定して
やれば良いです。(環境変数を設定しても良いかも)

それらのライブラリーは標準的なものなのでしょうか?(うちのには
なさそう)

--
山西 守 <ya...@biotech.okayama-u.ac.jp>
tel: 086-251-8196, fax: 086-251-8264
岡山大学工学部生物機能工学科

Junn Ohta

unread,
Feb 25, 2002, 11:25:42 PM2/25/02
to
fj.comp.lang.cの記事<a5f1d1$sfg$1...@news.justnet.ne.jp>で
m-k...@ma3.justnet.ne.jpさんは書きました。
> cc y.tab.c -ly -ll
> ...
> /usr/bin/ld:cannot find -ly

どんな環境のどんなccなんでしょう?

ccが-lyをファイル名だと思ってldに渡しているっぽい
ですね。そのccは引数にオプションとファイル名を混在
させられず、いちどファイル名が出てきたらそれ以降を
ファイル名の並びと解釈しているのではないでしょうか。

だとしたら
cc -ly -ll y.tab.c
で解決するかも。
--
太田純(Junn Ohta) (株)リコー/新横浜事業所
oh...@sdg.mdd.ricoh.co.jp

YOKOTA Yoshinori

unread,
Feb 25, 2002, 11:39:10 PM2/25/02
to
<a5f1d1$sfg$1...@news.justnet.ne.jp>の記事において
m-k...@ma3.justnet.ne.jpさんは書きました。

>> 現在、yacc/lex プログラムジェネレータ on UNIX(TECHNOPRESS)の
>> 書籍で勉強しているのですが、一番最初のコンパイル方法で
>> yacc smpint.y
>> lex smpint.l
>> cc y.tab.c -ly -ll
>> を行うと
>> /usr/bin/ld:cannot find -ly
>> collect2:ld returned 1 exit status
>> とccのコンパイルを行う時点でエラーが出てしまいます。

たんにお使いの環境では -ly は必要ない、だけでは?

% cc y.tab.c -ll

でできません?
## lex.yy.c は ... include しているのかな?
---
By よこた

Masayoshi Katou

unread,
Feb 26, 2002, 9:06:11 AM2/26/02
to
投稿者です。
情報が少なすぎたようですいませんでした。

VineLinux2.1.5で
%gcc -V
gcc version egcs-2.91.66 1990314/Linux(egcs-1.1.2release)

でコンパイルを行っています。
ひきつづきよろしくお願いいたします。

Masayoshi Katou

unread,
Feb 26, 2002, 9:38:17 AM2/26/02
to
ども。投稿人です。

Linuxではliby.aが提供されていないらしく
yyerror(),main()を挿入しなければならないとのことでした。

#LinuxとUnixの開発環境はほぼ同じと勘違いしていました。
 おさわがせしました。
 レスをくれた方々もありがとうございました。
 

0 new messages