Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)

No.836  basename() がリンクエラー, 代替手段は?
発言者: shige
発言日: 2002 12/12 10:54
 
Cygwin でも自作の Tool が使いたいので、make しようとしたのですが、basename() の link に失敗します。

$ make test
gcc test.c -o test
/tmp/ccyDk98.o(.text+0x2b):test.c: undefined reference to `_basename'
collect2: ld returned 1 exit status
make: *** [test] Error 1

/* test.c */
#include <stdio.h>

int main(int argc, char** argv){
printf("%s\n",basename(argv[0]);
return 0;
}

basename() が未定義だということはわかるのですが、(#include <libgen.h> 自体が失敗する) 代替手段としてどうすればよいのか、何かよい方法がありましたら、アドバイスお願いします。

現状は、

static const char* prgname = "defaultname";

#ifndef __CYGWIN__
{
#include <libgen.h>
progname = basename(argv[0]);
}
#endif

としていますが美しくないです。。。


▼関連発言

836:basename() がリンクエラー, 代替手段は? [shige] 12/12
 └838:Re:basename() がリンクエラー, 代替手段は? [な] 12/12
  └839:Re: basename() がリンクエラー, 代替手段は? [foo] 12/12
   └851:Re[2]: basename() がリンクエラー, 代替手段は? [な] 12/13
    └855:Re[3]: basename() がリンクエラー, 代替手段は? [shige] 12/16 <

Pass 保存

早田のホームページへ
CGIROOM