Я строю dll в D с некоторыми утилитами, инструментами и т. Д.Я могу успешно скомпилировать базовую dll и тестовую программу, чтобы использовать ее в Visual D без каких-либо проблем.Я знаком с процессом создания и использования DLL.Особенно статичны ссылки на них.Но если модуль в dll имеет статический this (), или импортирует модуль со статическим this (), dll скомпилирует, но любая программа, которую вы создаете, которая использует ее, потерпит неудачу с foo.bar .__ ModuleInfo, которая не разрешена.
ошибка LNK2001: неразрешенный внешний символ "dtoolbox.dtoolboxdllmain .__ ModuleInfo" (__D8dtoolbox15dtoolboxdllmain12__ModuleInfoZ)
В этом случае мой dllmain-модуль dtoolbox.dtoolboxdllmain импортирует статический файл, который в этом случае имеет статический файл (в этом случае), который в этом случае имеет статический файл (который в этом случае) импортирует статический файл, который в этом случае имеет статический файл (в этом случае), который в этом случае имеет статический файл (который в настоящее время имеет ядро), который в этом случае имеет статическое ядро (которое в этом случае имеет статический файл), который в этом случае имеет ядро.получите эту ошибку.Как мне решить это?Что делают статические конструкторы модулей, чтобы вызвать это?Пока нет статических конструкторов, все работает нормально.
[edit] Импорт core.runtime не был проблемой, это были собственные статические модули this (), а не core.runtime статические this ().