1

別の自分の lib ファイルを使用している lib ファイルを作成したいと考えています。リンクを行うためにmakefileでさまざまな組み合わせを試しましたが、リンクコマンドが無視されるか警告されず、ライブラリのコードを使用しようとするとクラッシュすることがあります。私のメイクファイルは次のようになります。

SRC = a.cpp b.cpp c.cpp etc.
OBJ = $(SRC:.cpp=.o)
OUT = ./libHTTPServer.a
INCLUDES := -I/home/myuser/Development/boost_1_51_0 \
            -I/home/myuser/Development/HTTPServers/Prot
CCFLAGS = -g
CCC = g++
LIBS = -L/home/myuser/Development/boost_1_51_0/buildedlibs/lib -lm
LDFLAGS = -g
.SUFFIXES: .cpp
.cpp.o:
    $(CCC) $(INCLUDES) $(CCFLAGS) -c $< -o $@ -lc libProt.a
$(OUT): $(OBJ)
    ar rcs $(OUT) $(OBJ)

depend: dep
dep:
    makedepend -- $(CCFLAGS) -- $(INCLUDES) $(SRC)
clean:
    rm -f $(OBJ) $(OUT) 
4

1 に答える 1

0

作成している静的ライブラリにライブラリをリンクすることはできません。静的ライブラリは、アーカイブにパックされたオブジェクトファイルの単なるコレクションです。

libProtが自分で作成したものであり、オブジェクトファイルがある場合は、arコマンドにそれらを追加して、これら2つの静的ライブラリを「結合」することができます。

于 2012-12-04T13:38:43.293 に答える