리눅스에서 Windows C++ 프로젝트를 빌드하기 위해 makefile을 만들려고합니다. 다른 디렉토리에서 .cpp 파일을 컴파일하여 개체와 함께 .so 파일을 만들어야합니다. ($ OBJECT를 : 나는 내가 $ (TARGET)을 변경해야합니다 알고 (: 같은하나의 .o 파일과 하나의 .CPP 파일을 가진 C++ 용 Makefile
이SOURCE= \
./Source/CHAINE.CPP\
./Source/CRACKCHN.CPP\
./Source/LISTEPTR.CPP\
이제 내 메이크 같습니다 이를 위해 나는 .CPP을 찾아 파일에 넣어하는 스크립트를 만들었습니다)) 규칙,하지만 그게 전부는 아니 여기 내 문제는 내가)
-include sources.mk
OBJECT = $(SOURCE:%.CPP=%.o)
#
$(TARGET) : $(OBJECT)
$(CC) $(CFLAGS) -o [email protected] $^ $(LIBS)
$(OBJECT) : $(SOURCE)
$(CC) $(CFLAG) $(PREPROC) -c $< -o $(OBJ_DIR)/[email protected] $(INCLUDE)
생각하지만 make 명령을 수행 할 때, 모든 객체는 여기에 최초의 .CPP (CHAINE.CPP로 만들어집니다
g++ -Wall -D _MSC_VER -D _GPP -c Source/CHAINE.CPP -o ./Source/CHAINE.o
===
g++ -Wall -D _MSC_VER -D _GPP -c Source/CHAINE.CPP -o ./Source/CRACKCHN.o
===
g++ -Wall -D _MSC_VER -D _GPP -c Source/CHAINE.CPP -o ./Source/LISTEPTR.o
이것은 전나무 나는 메이크 파일을 만들어야 만한다. 누군가 해결할 수 있다면 많은 문제를 해결해야한다.
당신은 하나의 소스 파일에서 모든 오브젝트 파일을 만들고 싶다는 것을 명시 적으로 밝히지 않고'.cpp.o :'규칙을 원합니다. –
크로스 플랫폼 프로젝트를 위해 [CMake] (http://www.cmake.org/)를보십시오. – yegorich