Я могу успешно собрать пакет exe из моего проекта MonoDevelop C #, но когда я запускаю пакет, он ничего не делает; казнь прекращается немедленно и молча. Что я делаю не так?
Я использую Mono 2.10.5 на 64-битной Windows 7 с Cygwin, как правило, следуя этим инструкциям , но с этими модификациями . Точные шаги, которые я выполняю:
- Создание нового консольного проекта C # в MonoDevelop (содержит только
Console.WriteLine ("Hello World!");
)
- Изменить цель на Релиз
- Построить все
- В Cygwin:
mkbundle -c -o host.c -oo bundle.o --deps BundleTest.exe
- Изменить host.c, добавить
#undef _WIN32
после #endif
после #include <windows.h>
- В Cygwin:
gcc -mno-cygwin -o test.exe -Wall host.c 'pkg-config --cflags --libs mono-2|dos2unix' bundle.o
- В командной строке:
test.exe
- В командной строке:
BundleTest.exe
На шаге 7 текст «Привет, мир!» выводится в командной строке, как и ожидалось. На шаге 8 ничего не печатается в командной строке; точно такой же ответ можно получить, набрав rem и нажав ввод.
РЕДАКТИРОВАТЬ: Кто-то еще отредактировал этот вопрос, чтобы переключить шаги 7 и 8, что существенно меняет описание наблюдаемого поведения. Я не знаю, почему они чувствовали себя оправданными в этом, так как они не были теми, кто делал наблюдения, но это так далеко от того времени, когда я думал об этой проблеме, что я не хочу просто возвращаться назад они были. Итак, обратите внимание, что последний абзац перед этим редактированием, вероятно, больше не отражает мои первоначальные наблюдения.