我需要在Visual Studio Express 2013中为我的项目创建一个.exe。我有一个窗体,并且可以运行多线程。 .exe文件需要在其他计算机上运行。该项目的构建没有错误,并且运行良好。我读过一些说我需要在属性-> c / c ++->代码生成->运行时库中更改Multi-threaded DLL (/MD) to Multi-threaded (/MT)的线程,以便在另一台计算机上运行.exe文件。在构建项目时尝试此操作后,已经发生错误:“ Error 2 error D8016: '/clr' and '/MT' command-line options are incompatible".关于如何解决此问题的任何建议?

编辑
我尝试创建一个文件夹,并将.exe文件(在/ MD中)与丢失的DLL文件一起添加。我尝试在另一台计算机上运行.exe文件,然后发生不同的错误:“应用程序无法正确启动(0xc000007b)”

最佳答案

如果构建成功,您将拥有“可以在其他计算机上运行的.exe”。
Visual Studio支持“标准” C ++和C ++ / CLI,后者允许.Net语言扩展,并作为.Net托管代码运行。
您的/ clr开关表示您(可能是无意中)正在构建C ++ / CLI程序。
建议:禁用CLR:

C ++>常规>“使用公共语言运行时支持进行编译”>“否”
如果您的源代码包含任何CLI扩展,则构建现在应该会失败,并且您可以替换标准的C ++等效项。
相反,如果您需要C ++ / CLI程序-它应该能够在具有适当.Net运行时的任何Windows PC上运行。只需关闭“ / MT”选项(所有.Net程序都支持多线程)并重建即可。

10-08 07:55
查看更多