我主要是为CUDA开发而设。我已经安装了开发人员驱动程序,CUDA 4.0工具包和4.0 SDK,以及错误修复程序。我正在运行Windows 7 x64,并且正在使用Visual C ++ 2010 Express。对于32位应用程序,我执行以下步骤,并且我的CUDA应用程序正常工作。
我也可以运行非CUDA 64位应用程序。 Visual C ++ 2010 Express没有自动提供64位依赖项,因此我必须安装带有.NET Framework 4.0的Windows 7.1 SDK。然后我简单地将VC ++项目的平台工具集设置为Windows7.1SDK,将Active解决方案平台更改为x64,我很高兴。
但是,我似乎无法同时执行这两项操作 - 我无法创建64位CUDA应用程序。如果我将CUDA应用程序的平台工具集更改为Windows7.1SDK,无论Active解决方案平台是x64还是Win32,我都会收到nvcc.exe退出的编译错误,代码为-1。如果我将Platform Toolset设置为v100并将Active解决方案平台更改为x64,我会收到编译错误“致命错误LNK1104:无法打开文件'kernel32.lib'。唯一有效的组合是v100和Win32,显然这阻止我运行64位应用程序。
是否有启用此功能的程序,我无法在线查找?任何想法或建议?谢谢你的时间。
答案 0 :(得分:2)
在快递版中不可能,(不支持插件),除非你想手动设置nvcc,并使用记事本来编写cu文件,我非常喜欢VS集成。
答案 1 :(得分:1)
您可以检查.cu文件的主机编译器属性是否设置为64位。 右键单击" Code.cu"文件并点击'属性'。 扩展" CUDA C / C ++"项目并选择" Common"。 改变"目标机器平台"到64位。