Mkbundle на Mac с Mono: файл mono/metadata/mono-config.h не найден
Я пытаюсь создать пакет Mac с Mono. Когда я выполняю:
mkbundle file.exe --deps -o FILE
Я получаю это во время компиляции:
fatal error: "mono/metadata/mono-config.h" file not found
Я что-то пропустил?
Ответы
Ответ 1
У меня была такая же проблема на моем Mac. Я решил это, установив pkg-config.
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/Library/Frameworks/Mono.framework/Versions/3.0.12/lib/pkgconfig
Просто голова, для Mac вам нужно...
export AS="as -arch i386"
export CC="cc -arch i386"
... как указано здесь Проблема при запуске mono 2.10.2 mkbundle на снежном барсе Mac OS X, но на Mountain Lion я должен был сделать это вместо этого что приложение может работать на Lion.
export AS="as -arch i386"
export CC="clang -arch i386 -mmacosx-version-min=10.6"
Ответ 2
Ключом является предыдущая ошибка (sh: pkg-config: command not found
),
обратите внимание, что pkg-config хранится в '/Library/Frameworks/Mono.framework/Commands'.
Решение (см. здесь и здесь)
Подготовьте папку "/Library/Frameworks/Mono.framework/Commands" для
ваша переменная PATH:
export PATH=/Library/Frameworks/Mono.framework/Commands:$PATH
Кроме того (как предложено aiapatag и objective-c среда исполнения и решение CoreFoundation Framework, предложенные здесь).
export AS="as -arch i386"
export CC="cc -arch i386 -framework CoreFoundation -lobjc -liconv"
Ответ 3
Попробуйте переустановить Mono Development Kit (MDK). Не устанавливайте Mono Runtime Environment (MRE) поверх MDK. MDK будет достаточным.
Затем, если вы используете Windows (но я думаю, вы на OSX, но просто для того, чтобы упомянуть): вам понадобится Unix-подобная инструментальная цепочка для работы mkbundle.
Отрывок из их сайта
В системах Windows необходимо, чтобы Unix-подобная инструментальная цепочка была установленный для работы mkbundle. Вы можете использовать cygwin и установить gcc, gcc-mingw и как пакеты. (Так в оригинале)