2010-06-17 18 views
6

Tengo un archivo DLL escrito en C en el código fuente. Este es el código para General Polygon Clipper (en caso de que esté interesado). Lo estoy usando en un proyecto de C# a través del contenedor C# provisto en la página de inicio. Esto viene con una DLL precompilada.¿Cómo compilar una DLL de C para 64 bits con Visual Studio 2010?

Desde que se cambió a una máquina de desarrollo de 64 bits con Visual Studio 2010 y Windows 7 de 64 bits, la aplicación ya no se ejecutará. Este es el error que obtengo:

Se ha intentado cargar un programa con un formato incorrecto.

Esto es debido a DLLImport ing de 32 bits gpc.dll, como he obtenida de material encontrado en la web.

Supongo que todo esto desaparecerá si recompilo el archivo DLL a 64 bits, pero no puedo por amor de mí averiguar cómo hacerlo. Mis habilidades C son básicas, ya que puedo escribir un programa C con las herramientas GNU, pero no tengo experiencia con varios compiladores/procesadores/IDEs, etc.

Creo que podría transferir esto a C#. Con eso quiero decir que confío en mí mismo para lograrlo. Pero preferiría no hacerlo, ya que es mucho de trabajo que yo preferiría un compilador a hacer por mí;)

Respuesta

5

Podría ser tan fácil como crear una nueva plataforma:

  • páginas de propiedades abiertas del proyecto (ALT + ENTRAR)
  • elige plataforma x64 en el menú desplegable en la esquina superior derecha
    • si ya no existe la plataforma, crear uno nuevo
  • reconstrucción
    • asegurarse de que está mirando los artefactos correctos cuando se construyó, ya que ahora tiene probablemente un directorio de salida diferente.
+0

esto realmente funciona! –

+1

La plataforma x64 no existe, ¿cómo creo una nueva? Tengo un proyecto de C++/MFC en VS2010. No pude encontrar la plataforma x64 o 0x86 en ninguna parte de la configuración del proyecto. – zar

+0

Con Visual Studio 2010 Express, el SDK de 64 bits no está incluido. Debe [descargarlo por separado e instalarlo] (http://www.microsoft.com/en-us/download/details.aspx?id=8279). Tuve demasiados problemas y pude realizar una instalación correcta en una computadora por accidente. Desde entonces, no puedo repetir una instalación desde cero. Comprobaré GCC (que creo que ahora funciona mejor que el compilador Visual). – Matthieu

Cuestiones relacionadas