0

一連のオブジェクト ファイルを共有オブジェクトにリンクしようとしています。VPATH を使用して、別のディレクトリにあるいくつかのオブジェクト ファイルの場所を指定します。.o ファイルがそのディレクトリに存在する場合、g++ が .o ファイルを見つけられないというエラー メッセージが表示されます。他のディレクトリのオブジェクト ファイルを削除すると、GNU Make / GCC は、VPATH で指定された他のディレクトリの .c から現在のディレクトリの .o をコンパイルします。では、オブジェクト ファイルが VPATH で指定された別のディレクトリに存在する場合でも、前提条件のオブジェクト ファイルが常に現在のディレクトリにビルドされるように、makefile を変更するにはどうすればよいでしょうか。

これが私の主なmakeルールです:

LD      = g++ -g -shared
ALGOBJ = <a bunch of object files>

$(PROGRAM):     $(ALGOBJ)
    $(LD) -Wl,-soname -Wl,.so -Wl,--no-undefined $(LDPTHS) -o $(PROGRAM) $(ALGOBJ)
4

0 に答える 0