Trabajo en el algoritmo de optimización, por lo que el rendimiento realmente importa. El algoritmo es aproximadamente 8 veces más rápido cuando se compila en VS 2010 en comparación con VS 2008. La búsqueda en Google muestra que no es mi culpa (consulte, por ejemplo, https://stackoverflow.com/a/5560184/890355). El problema es que el proyecto final debe construirse bajo VS 2008.Usar las bibliotecas de tiempo de ejecución de VC++ 2010 en el proyecto VC++ 2008
La solución que suelo es construir mi algoritmo como DLL en VS 2010 y luego vincularlo al proyecto principal. ¿Es posible utilizar las bibliotecas de tiempo de ejecución de VC++ 2010 con mi archivo DLL en VS 2008? Si es así, ¿cuál es la forma menos dolorosa de hacerlo? ¿Alguna otra idea? Gracias.
El compilador de C++ utilizado por Visual Studio no es compatible C++ 0x si eso es lo que están pidiendo. Por supuesto, siempre puedes usar un compilador más reciente si quieres evitar la actualización a Visual Studio 2010 y/o Visual Studio 2012. Una posible solución es compilar el algoritmo de optimización usando un compilador diferente y solo hacer referencia al resultado creado por dicho compilador. . –
¿Sus bibliotecas transfieren objetos entre sí, y esperan que cada uno los desasigne?La mezcla de bibliotecas podría funcionar, pero hay algunas advertencias bastante limitantes (y el uso de los contenedores de C++ puede conducir a una mala magia): http://stackoverflow.com/questions/6531401/how-to-use-vs2010-built-dlls-in -vs2008 - en resumen, es más fácil si puede mantener todo en consistencia y usar solo un tiempo de ejecución de C++. – birryree
Esto solo puede llegar a su fin cuando utiliza los archivos #include de VS2010. Lo cual no funcionará, VS2008 no puede compilarlos, especialmente dado que está después de las mejoras en el rendimiento semántico. –