c++ - 库机器类型 'x86' 与目标机器类型 'X64' 冲突

标签 c++ opengl visual-studio-2017

我正在使用 CUDA 9.2 通过 OpenGL 模拟光线追踪。

我刚刚发现由于我的 CUDA 版本不支持 x86 构建,所以我应该使用 x64 库。

但是还是有问题

所有需要 opengl32.lib 的过剩函数都会导致“未解析的外部符号错误”

我认为链接器从 x86 文件夹链接 opengl32.lib 文件,但是

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64\OPENGL32.lib:警告 LNK4272:库机器类型“x86”与目标机器类型“X64”冲突'

如您所见,我的 opengl32.lib 肯定在 x64 文件夹中。

我该如何解决这个问题? 如何将 openGL 与 CUDA 结合使用?

最佳答案

也许您的 CUDA 项目中可能有目标机器平台设置。

尝试在你的项目设置 -> CUDA -> Common targeting machine platform 中查看并将其更改为 32 位。

enter image description here

但是CUDA 9.0版本之后对86平台的支持不多了 details .

该解决方案使用您的项目所依赖的旧 CUDA 或新库。

关于c++ - 库机器类型 'x86' 与目标机器类型 'X64' 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51804240/

相关文章:

c++ - 如何使用 GPU 绘制 OpenGL 像素

visual-studio - Visual Studio 2017 cshtml 语法突出显示不起作用

c++ - 由于意外的模板参数类型推导而导致的无限递归

c++ - SDL_GL_SwapWindow 性能不佳

c++ - Qt/OpenGL 中的着色器问题

c++ - 不是 VS2017 中的编译时常量表达式

visual-studio-2017 - 无法选择.NET 4.7

c++ - 计算 vector 中的相似整数

C++ 结构 : reference to overloaded function could not be resolved

c++ - 如何获取 linux 的已知路径