0

我在 VS2012 中创建了一个 OpenGL ( GLEW )项目,它运行良好。现在我已将项目移至VS2013。我创建了一个新项目并将项目的环境设置为与我在 VS2012 中所做的相同:

  • 字符集:-------------使用多字节字符集
  • 包含目录:-------- C:\Foo\glew-1.9.0\include
  • 库目录:-------- C:\Foo\glew-1.9.0\lib
  • 附加依赖:- opengl32.lib;glu32.lib; glew32.lib
  • 运行时库:-------------多线程调试 (/MTd)

所有代码都和以前完全一样,但是当我运行程序时,我得到了这个错误:

Error   1   error LNK2019: unresolved external symbol _main referenced in
function ___tmainCRTStartup c:\FooBar\...\Projects\OpenGL\OpenGL\LIBCMTD.lib(crt0.obj) 
OpenGL

我不明白为什么具有相同设置和代码的同一个项目在完全相同时不起作用。

4

1 回答 1

0

嗨@SpicyWeenie LIBCMTD 是静态多线程 C 运行时库的调试版本,根据 Microsoft 的许可,您不能在代码的发布版本中使用,我会检查您是否在调试模式下编译:

  • 在调试模式下使用 /MTd 作为运行时库
  • 在发布模式下使用 /MT 作为运行时库

Windows Console Application希望这会有所帮助,如果没有,那么在构建之前清理您的项目,如果这也没有帮助,请在创建新项目并确保它是一个而不是一个Windows Application (最后一个是最常见的原因)之前自由地发誓您为我描述的确切错误,并且在 Visual Studio 版本(2008 到 2010 或 2010 到 2012)之间移动时主要发生在我身上

真诚地希望这会有所帮助,但如果它没有让我知道,也许我可以找出问题所在:)

于 2013-10-28T11:19:50.050 回答