/Mt и /clr несовместимы

Я использую EIGEN для решения систем уравнений. единственный способ, которым мне удалось скомпилировать мой код, - это использовать /CLR. Когда я пытаюсь собрать свой проект, я заметил, что для того, чтобы мой exe работал на другом компьютере, мне нужно собрать его, используя /MT (а не DLL). проблема они не совместимы. если я удалю /CLR, мой проект не скомпилируется, а если я оставлю DLL, мой exe будет работать на другом компьютере, но даст нереальное значение.

Может кто посоветует что делать. Это моя первая программа, которую я пишу. Я инженер-механик, решаю уравнение, пожалуйста, потерпите меня.

Хорошо, я просто ищу в Интернете, но обнаружил, что не могу создать приложение формы Windows без /CLR.

Я не уверен, будет ли моя целевая машина перераспределена vc. есть ли способ вместо этого использовать мой exe вместе с какой-нибудь dll? Я часто вижу это с небольшими программами.


person diamondx    schedule 13.03.2013    source источник
comment
Это жесткое ограничение, нет смысла искать обходной путь. Вы должны строить с помощью /MD, конец истории. Просто запустите установщик vc_redist, чтобы установить CRT на целевой машине.   -  person Hans Passant    schedule 13.03.2013


Ответы (1)


Вам нужно связать динамическую среду выполнения, /MD. Проблема в том, что на другой машине не установлена ​​эта среда выполнения. Решите эту проблему, просто установив на каждую машину, где вам нужно запустить программу, распространяемый пакет для вашей версии Visual Studio.

person David Heffernan    schedule 13.03.2013