现有32位 C++ 工程修改为64位编译,以 OpenCV 为例

好久没有更新了,今天介绍一下我的一个32位OpenCV C++工程如何修改为64位下编译。

  1. 确保 Visual Studio (Visual C++) 已经带有x64编译器。

如果使用的是完整版VS,在安装时会有选项。如果使用 Express(速成版),则根据微软官方介绍,还需要安装“Windows 软件开发工具包 (SDK)”。

  1. 将工程配置修改为x64。

 

如图,首先在工具栏中,点击(默认为)“Win32”–“配置管理器”。

然后如果在“活动解决方案平台”下没有“x64”,先点击“新建”,在“键入或选择新平台”下选择“x64”并确定。

在添加x64平台之后,在下面将需要64位编译的工程后面设置为“x64”。

  1. 将外部库也设置为对应的x64版本。

这里以 OpenCV 的二进制预编译库为例,在 build 文件夹中可以找到 x64 (32位为 x86),再找到对应的编译器下对应文件,并在属性页中配置好即可。

  1. 编译程序,如果有问题则修改代码。

这里建议阅读官方的“Visual C++ 64 位迁移的常见问题”(见参考资料),尤其要检查指针、size_t和int/long类型之间的兼容性问题。

 

参考资料:

[1] 如何:针对 64 位平台配置 Visual C++ 项目 – MSDN

[2] Visual C++ 64 位迁移的常见问题 – MSDN

One thought on “现有32位 C++ 工程修改为64位编译,以 OpenCV 为例

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注