Android NDK #define Probleme

8

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?

    
Nitzan Wilnai 12.06.2012, 12:57
quelle

2 Antworten

16

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:

%Vor%     
Graham Borland 12.06.2012, 13:00
quelle
0

Fügen Sie es in die Header-Datei ein und fügen Sie die Header-Datei in jede .c-Datei ein, in der sie definiert werden soll.

    
Igor F. 12.06.2012 13:00
quelle