error LNK2005: "class CJsDebug JsDebug" (?JsDebug@@3VCJsDebug@@A) already defined in DbJmps.不知道是什么意思?说一下。能否解决以下。多谢。

解决方案 »

  1.   

    全部报错如下:error LNK2005: "class CJsDebug JsDebug" (?JsDebug@@3VCJsDebug@@A) already defined in DbJmps. fatal error LNK1169: one or more multiply defined symbols found
      

  2.   

    应该还是那些问题,缺少函数的实现部分就是lib没有,或者cpp/c文件没有
      

  3.   

    CJsDebug类重复定义,你检查一下你引用的.h文件,是否有重复定义的情况
      

  4.   

    class CJsDebug JsDebug的实例化,你是不是写在头文件里了
    放到cpp里去,头文件里用“extern class CJsDebug JsDebug;”
      

  5.   

    不好意思,应该是“extern CJsDebug JsDebug;”
      

  6.   

    To YaYiYaO: 是在.h头文件里,定义的。CJsDebug JsDebug; // 这么定义为以前的报错。extern CJsDebug JsDebug;// 这么定义为如下报错。
    error LNK2001: unresolved external symbol "class CJsDebug JsDebug" (?JsDebug@@3VCJsDebug@@A) DbJmps.obj
    fatal error LNK1120: 1 unresolved externals
      

  7.   

    看 CJsDebug JsDebug 是否多次包含了
    .h 文件中 #pragma once
      

  8.   

     头文件里,已经有了#pragma once了。
     还有什么可能?
      

  9.   

    CJsDebug JsDebug; // 在cpp文件里写extern CJsDebug JsDebug;// 在头文件里写
      

  10.   


    extern CJsDebug JsDebug;
    这样后,你还得在你的一个任意一个cpp文件里面定义以下
    CJsDebug JsDebug;就可以了。
      

  11.   

    错误1:提示是说重复定义了JsDebug,
        那是因为你的这个定义在.h里,然后又被几个cpp包含,那链接的时候就发现有好几份,这个和"#pragma once"应该没有关系吧错误2:提示说找不到外部的JsDebug,
        那可能是你没有在cpp里写CJsDebug JsDebug;所以虽然在编译的时候过去了,但是在链接时发现并没有找到这个外部的JsDebug
    解决方法10楼说的是正确的,你好好再检查下!