LIBCMTD.lib(crt0.lib)项目中的LNK 2019错误

时间:2013-10-28 10:59:43

标签: c++ visual-studio visual-studio-2012

我在 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
  • Runtime Libary:------------- 多线程调试(/ MTd)

所有代码都与以前完全相同,但是当我运行程序时,我收到此错误:

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

我无法理解为什么同样的设置和代码的相同项目在完全重复时不起作用。

1 个答案:

答案 0 :(得分:0)

你好@SpicyWeenie LIBCMTD是静态多线程C运行时库的调试版本,根据微软许可你不能使用比发布版本的代码,我会检查你是否正在编译调试模式:

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

如果没有,这将有助于在构建之前清理你的项目,如果这也没有帮助,在创建一个新项目之前大量申请咒骂并确保它是Windows Console Application而不是{{{ 1}}(最后一个是您为我描述的确切错误的最常见原因,并且在Visual Studio版本(2008年至2010年或2010年至2012年)之间移动时主要发生在我身上

真诚地希望这会有所帮助,但如果它不让我知道,也许我可以弄清楚什么是错的:)

相关问题