Wenn ich #define entweder zu main.cpp oder zu einem meiner von main.cpp aufgerufenen Header hinzufüge, scheint es in anderen Dateien nicht definiert zu sein.
Zum Beispiel könnte ich in main.cpp etwas tun wie:
%Vor%Dann in einer meiner anderen Dateien, zum Beispiel secondfile.cpp, wird TEST_FOO ignoriert, als ob es nie definiert wurde:
%Vor%Auch wenn ich in der Datei Android.mk secondfile.cpp nach main.cpp platziere:
%Vor%Gibt es eine Möglichkeit, # Werte in Android NDK innerhalb des eigentlichen Codes zu definieren?
Das ist richtig. Der Compiler kennt nur jeweils eine Quelldatei. Wenn Sie secondfile.cpp
kompilieren, hat es alles vergessen, was Sie möglicherweise in main.cpp
definiert haben.
Wenn Sie möchten, dass #define
in allen Ihren Quelldateien sichtbar ist, müssen Sie sie in eine Kopfzeile einfügen, die von allen Ihren Dateien enthalten ist. Oder gib es auf der Kommandozeile weiter; Sie können dies tun, indem Sie etwas zu Ihrem Android.mk
hinzufügen:
Tags und Links android android-ndk c-preprocessor