分享

error LNK2001: 无法解析的外部符号

 勤奋不止 2019-10-19

__CrtDbgReport说明

http://msdn.microsoft.com/zh-tw/library/vstudio/8hyw4sy7(v=vs.90).aspx

  1. int _CrtDbgReport( 
  2.    int reportType,
  3.    const char *filename,
  4.    int linenumber,
  5.    const char *moduleName,
  6.    const char *format [,
  7.    argument] ... 
  8. );
  9. int _CrtDbgReportW( 
  10.    int reportType,
  11.    const wchar_t *filename,
  12.    int linenumber,
  13.    const wchar_t *moduleName,
  14.    const wchar_t *format [,
  15.    argument] ... 
  16. );

这个函数是用来判断错误类型的。

可是问题出现在这里:

  1. // crt_crtdbgreport.c
  2. #include <crtdbg.h>
  3. int main() {
  4. #ifdef _DEBUG       //这里定义了一个宏
  5.    CrtDbgReport(_CRT_ASSERT, NULL, NULL, "some module", NULL);
  6. #endif
  7. }

解决方法:

用release版,或者把debug版本中预编译头的_debug去掉,这样在函数执行的时候就不会出现这个问题了。

具体是为什么每次只要执行CrtDbgReport 就出现错误我也不太明白。

其他的什么改多线程为多线程调试…… 貌似都没用

还有 忽略libcmt.lib库 这个是处理冲突的库的。感觉这个问题可能也是库冲突,可是找不到。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多