2015-10-27 2 views
0

Мне нужно создать .exe для моего проекта в visual studio express 2013. У меня есть форма и создается для запуска многопоточных. Файл .exe должен запускаться на другом компьютере. Проект строится без ошибок и отлично работает. Я прочитал потоки, которые говорят, что мне нужно изменить Multi-threaded DLL (/MD) to Multi-threaded (/MT) в свойствах -> c/C++ -> генерация кода -> библиотека времени выполнения для запуска .exe-файла на другом компьютере. После того, как я попробовал это, когда я строю проект об ошибке уже происходит: "Error 2 error D8016: '/clr' and '/MT' command-line options are incompatible". Любые предложения о том, как я могу решить эту проблемуСоздание автономного исполняемого файла для кода C++ с помощью Visual Studio express 2013

EDIT Я попытался создать папку и добавил EXE-файл (в/MD?) вместе с отсутствующим файлом DLL я попытался запустить exe-файл на другом компьютере, то возникает другая ошибка:. «Приложение не удалось правильно запустить (0xc000007b)»

+1

Когда вы создали проект, вы указали неправильную настройку, вы используете компилятор .NET вместо собственного. –

+0

@MarkRansom Когда я верну его обратно в/MD, .exe все равно не будет работать на другом компьютере. Таким образом, это означает, что я должен установить clr и crt на другой компьютер, где я хочу запустить файл .exe? – rocky

ответ

1
  1. Если вы успешно строить , вы, У WLAN есть «.exe, который может работать на другом компьютере».

  2. Visual Studio поддерживает как «стандартный» C++, так и C++/CLI, который позволяет .Net расширять язык и работает как .Net управляемый код.

  3. Ваш/clr-переключатель подразумевает, что вы (возможно, непреднамеренно) создали программу C++/CLI.

  4. SUGGESTION: Отключить CLR:

    C++> Общие> "Компиляция с Common Language Runtime Support"> "Нет"

  5. Если источник содержит какие-либо расширения CLI, сборка должна теперь терпеть неудачу, и вы можете заменить стандартные эквиваленты C++.

  6. С другой стороны, если вы хотите программа C++/CLI - она ​​должна быть способна работать на любом ПК с Windows с соответствующей .Net runtime. Просто отключите опцию «/ MT» (все .Net-программы поддерживают многопоточность) и перестройте.

+0

Я изменил Компиляцию с поддержкой Runtime Common Language на «Нет», затем произошло 140 ошибок. 100, и 40 из моих пространств имен. – rocky

+0

@rocky вы, вероятно, пытаетесь использовать .NET-классы для своего пользовательского интерфейса. Если вы не собираетесь зависеть от библиотек .NET и среды выполнения, это было ошибкой. Вам придется начать с другой технологии, такой как MFC. –

+0

@MarkRansom есть ли другие варианты? – rocky

Смежные вопросы