Używam Android NDK do zbudowania mojego projektu cocos2dx, w ramach systemu Android.mk istnieje definicja LOCAL_SRC_FILES, w której wymieniono każdy z plików cpp. Ilekroć dodany nowy plik źródłowy, to muszę go dodać również tam ... to wygląda tak:Android.mk - kompilacja całego pliku źródłowego w katalogu
LOCAL_SRC_FILES := hellocpp/main.cpp \
hellocpp/myclass.cpp \
hellocpp/mynextclass.cpp \
../../Classes/Screens/LaunchScreen.cpp \
plik nagłówka, można jednak określić cały katalog na to, wygląda na to, to:
LOCAL_C_INCLUDES := $(LOCAL_PATH)/hellocpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../Classes/Screens
próbowałem różnych sposobów, aby obejmować cały katalog zamiast pojedynczego pliku do LOCAL_SRC_FILES
tak, że nie trzeba zmodyfikować Android.mk zbudować skrypt ilekroć dodać nowy plik, jednak do tej pory wszystkie moje próby zawiodły.
Próbowałem to:
#SRC_PATH_HELLOCPP := $(wildcard hellocpp/*.cpp)
#SRC_PATH_CLASSES += $(wildcard ../../Classes/*.cpp)
#LOCAL_SRC_FILES := $(SRC_PATH_HELLOCPP:$(LOCAL_PATH/%=%)
#LOCAL_SRC_FILES += $(SRC_PATH_CLASSES:$(LOCAL_PATH/%=%)
jak ten:
#LOCAL_SRC_FILES += hellocpp/*.cpp
#LOCAL_SRC_FILES += ../../Classes/*.cpp
oboje nie pracują ...
mam inny projekt, który dobrze współpracuje z pierwszej opcji jednak, naprawdę nie rozumiem, dlaczego to nie działa w projekcie cocos2dx ... czy ktoś wie dlaczego lub zna rozwiązanie? A może powinienem zostawić go tak, jak jest i podjąć trud, ponieważ wszyscy to robią., Ale to naprawdę kłopotliwe, mam nadzieję, że ktoś może pomóc, abyśmy wszyscy byli bardziej produktywni ..
Dzięki!
Czy jest to rekurencyjne? Mam na myśli to, że jeśli istnieją podkatalogi w katalogu "Klasy", pliki '.cpp' w tych systemach będą brane pod uwagę w' KLASACH_FILES'? Chyba tak nie jest. Czy jest to sposób na rekurencję? – Narek
Nie, to nie jest rekurencyjne, musisz dodać kolejną linię, która określa podkatalog –
To nie działa dla mnie. Ten sam błąd ... –