Подтвердить что ты не робот

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

Я что-то пропустил?

4b9b3361

Ответ 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 и как пакеты. (Так в оригинале)