Ich schreibe eine Anwendung in D, die mit OpenGL und einigen anderen nativen Bibliotheken (mit den Derelict-Bibliotheken) Schnittstellen. Dieser Fehler scheint jedoch nichts damit zu tun zu haben.Linker Fehler: undefinierter Verweis auf `interne '
Immer, wenn ich „dub build“ tun gelingt die Zusammenstellung, aber ld nicht mit dieser Nachricht:
Linking...
../git/mango-engine/bin/libmango-engine.a(gl_model_503_284.o):(.data._D12mango_engine8graphics6opengl8gl_model7GLModel6__initZ+0x10): undefined reference to `internal'
../git/mango-engine/bin/libmango-engine.a(shader_51b_52f.o): (.data._D12mango_engine8graphics6shader13ShaderProgram6__initZ+0x18): undefined reference to `internal'
collect2: error: ld returned 1 exit status
Ich habe keine Ahnung, was das bedeutet, und haben sie noch nie gesehen. Seltsamerweise tritt dieser Fehler auch nur auf, wenn ich die spezifischen Dateien gl_model.d und shader.d aus einem anderen DUB-Projekt importiere. Wenn sie nicht importiert werden, ist der Linker erfolgreich.
Ich bin nicht sicher, welche Informationen zur Verfügung zu stellen, so dass ich verbinden die gesamte Quellcode here.
EDIT: Dieser Fehler tritt nur dann, wenn für x86_64 kompilieren. x86 funktioniert gut.
Es gibt eine Funktion oder eine Variable wahrscheinlich markiert 'extern (C) void internal()' oder etwas, das erklärt, aber nicht definiert .. das 'Mango_engine.graphics' Modul, ist es Ihr Code oder aus einer Bibliothek? –
@ AdamD.Ruppe Ich habe nur eine externe Anweisung im gesamten Projekt, und es hat eine Implementierung. Es wird auch nicht irgendwo in der Nähe von "internal" – jython234