0
メイクファイルから.soライブラリファイルにリンクしようとしています。私は私のプロジェクトにmain.cpp、shm.h、およびshm.cppという3つのファイルを持っています。 main.cppにはshmクラスが含まれています。さらに、shmクラスはalcommonライブラリ(libalcommon.so)内に格納されているいくつかのヘッダファイルに依存しています。C++メイクファイル内の.soファイルへのリンク
私のメイクファイルは現在次のように書かれています。私の考えは、.soファイルはshm.oの依存関係でなければならないので、そのように含めなければなりません。
Variables
CXXFLAGS=-Wall -g
CXX = g++
#Executable
#TransformTests: TransformTests.o Transform.o
# $(CXX) $(CXXFLAGS) -o TransformTests TransformTests.o Transform.o
#Dynamics Library Creation
#Object Targets
main.o: main.cpp shm.h
#(CXX) $(CXXFLAGS) -c main.cpp
shm.o: shm.cpp shm.h -L../../naoqi-sdk-2.1.3.3-linux32/lib -lalcommon
$(CXX) $(CXXFLAGS) -c shm.cpp
clean:
rm -f *o main
rm -f *o shm
all: shm main
ヘッダーの依存関係を自動生成したい場合があります。それ以外の場合は、エラーが発生しやすくなります。 –
.soライブラリのヘッダファイルをインクルードしているという事実をどうやって回避するのですか? – Austin
あなたはそれを回避する必要はありません。コンパイル時にコンパイラに見える限り(必要に応じて関連する '-I'スイッチで)動作します。 – Smeeheey