2010-06-17 117 views
6

我有一个在C源代码中编写的DLL。这是General Polygon Clipper的代码(如果您有兴趣)。我通过主页上提供的C#包装器在C#项目中使用它。这带有一个预编译的DLL。如何使用Visual Studio 2010编译64位的C DLL?

由于使用Visual Studio 2010和Windows 7 64位切换到64位开发机,应用程序将不再运行。这是我得到的错误:

尝试加载格式不正确的程序。

这是因为DLLImport荷兰国际集团的32位gpc.dll,因为我已经从网络上找到的东西收集。

我认为这将全部消失,如果我重新编译DLL到64位,但不能为我的爱找出如何做到这一点。我的C技能是基本的,因为我可以使用GNU工具编写C程序,但对各种编译器/处理器/ IDE没有经验。

我相信我可以将此端口移植到C#。我的意思是我相信自己实际上会把它拉下来。但我不希望,因为它是一个很多工作,我宁愿一个编译器为我做;)

回答

5

这可能是那么容易,因为创建一个新的平台:

    项目
  • 打开属性页(ALT + ENTER)
  • 选择平台在下拉菜单中右上角
    • 如果平台不存在,创建一个新的
  • 重建
    • 确保你正在检查的正确建文物时,你现在大概有一个不同的输出目录。
+0

这真的有用! – 2010-06-17 14:58:42

+1

平台x64不存在,我如何创建一个新的?我在VS2010中有一个C++/MFC项目。我无法在项目设置中的任何位置找到平台x64或0x86。 – zar 2012-08-10 15:34:49

+0

使用Visual Studio 2010 Express时,不包括64位SDK。您需要[单独下载并安装它](http://www.microsoft.com/en-us/download/details.aspx?id=8279)。我有太多的问题,实际上能够在一台计算机上正确安装,无意中。从那以后,我无法重新从头开始重新安装。我将检查GCC(我认为它现在比Visual编译器更好)。 – Matthieu 2014-03-13 14:25:08