Я пишу приложение в D, которое взаимодействует с OpenGL и несколькими другими родными библиотеками (используя библиотеки Derelict). Однако эта ошибка, похоже, совсем не связана с этим.Ошибка компоновщика: неопределенная ссылка на `internal '
Всякий раз, когда я делаю «даб сборки» компиляция прошла успешно, но л.д. терпит неудачу с этим сообщением:
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
Я понятия не имею, что это значит, и никогда не видел его раньше. Кроме того, странно эта ошибка возникает только при импорте определенных файлов: gl_model.d и shader.d из другого проекта DUB. Если они не импортированы, компоновщик удался.
Я не уверен, какую информацию предоставить, так что я буду просто связать весь исходный код here.
EDIT: Эта ошибка возникает только при компиляции для x86_64. x86 отлично работает.
Существует функция или переменная, которая может быть помечена как «extern (C) void internal()» или что-то вроде объявленного, но не определенного. Этот модуль 'mango_engine.graphics', это ваш код или из библиотеки? –
@ AdamD.Ruppe У меня есть только одно выражение extern во всем проекте, и у него есть реализация. Он также не назван нигде рядом с «внутренним» – jython234