Visual studio 2008 编译为64位时启动GLUT应用程序时出错
我有一个过剩的应用程序的赤裸裸的骨骼。当我为Win32编译它时,它工作正常,但如果我为x64编译它,我会得到以下错误:Visual studio 2008 编译为64位时启动GLUT应用程序时出错,visual-studio-2008,opengl,64-bit,cuda,glut,Visual Studio 2008,Opengl,64 Bit,Cuda,Glut,我有一个过剩的应用程序的赤裸裸的骨骼。当我为Win32编译它时,它工作正常,但如果我为x64编译它,我会得到以下错误: 应用程序无法正确启动(0xc000007b)。单击“确定”关闭应用程序。 < > >我有 GLU64。LIB 作为链接器的输入,来自英伟达CUDA SDK在 C:\StudioDAT\\英伟达公司NVIDIA GPU计算SDK\CUC\\LIB 我想将OpenGL与CUDA结合使用,尽管这个裸体应用程序没有对CUDA的引用。我正在Windows 7 64位上运行Visual
应用程序无法正确启动(0xc000007b)。单击“确定”关闭应用程序。
< > >我有<代码> GLU64。LIB <代码>作为链接器的输入,来自英伟达CUDA SDK在<代码> C:\StudioDAT\\英伟达公司NVIDIA GPU计算SDK\CUC\\LIB <<代码> < /P>
我想将OpenGL与CUDA结合使用,尽管这个裸体应用程序没有对CUDA的引用。我正在Windows 7 64位上运行Visual Studio 2008
如果您能提供任何见解,我们将不胜感激
Main.cpp:
#include <GL/glut.h>
void renderScene(void)
{
}
int main( int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(320,320);
glutCreateWindow("CUDA Sandbox");
glutDisplayFunc(renderScene);
glutMainLoop();
return 0;
}
#包括
void renderScene(void)
{
}
int main(int argc,字符**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
位置(100100);
glutInitWindowSize(320320);
glutCreateWindow(“CUDA沙盒”);
glutDisplayFunc(渲染场景);
glutMainLoop();
返回0;
}
您是否链接到正确的(64位)版本的库,路径上是否有正确的(64位)dll?您所要做的就是添加项目的可执行路径:c:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\c\bin\win64\Debug(或您使用的任何配置)
这是glut32.dll和glew64.dll所在的位置。更好的方法是将这些DLL复制到本地项目文件夹中
这就是我刚才解决相同错误的方法。CUDA SDK示例使用了该文件,它们工作正常,但这是我唯一要说的,它是正确的版本。是否有明确的方法来判断?除了检查项目属性中的链接输入/目录,运行命令提示符并执行
echo%PATH%
,我不确定!酷。好吧,我想我将不再使用GLUT,而是在windows opengl上尝试使用原生opengl,因为它很难使用,所以我不建议使用原始opengl。我推荐SDL——它是一个相当可靠的库,而且仍然是可移植的。