C++-Fehler: LINK2005
高洛峰
高洛峰 2017-05-16 13:23:40
0
1
650
  1. Problembeschreibung
    common.h definiert alle Typaliase und Strukturdeklarationen und wird von mass_diffusion.h und heat_conduction.h, mass_diffusion.h und heat_conduction.h referenziert Referenziert von man.cpp, und dann erfolgreich kompiliert, wurde beim Verknüpfen ein Fehler gemeldetLINK2005。我已经使用了#ifndef ... #define ... #endifDiese defensive Syntax hat nur eine Init-Funktion, die nach außen offengelegt wird. Obwohl es Funktionen mit demselben Namen in der Datei gibt, warum werden sie nicht offengelegt? nach außen? Wird ein Fehler gemeldet?

  2. Fehlermeldung
    Visual Studio 2017 kompiliert C++-Fehler: LNK2005 mass_diffusion.obj „void __cdecl compute(class std::vector<struct user ,class std::allocator<struct user > > ,class std::vector<struct item ,class std::allocator<struct item > >

  3. Zugehörige Codes

    //common.h#ifndef _COMMON_H
    #define _COMMON_H
    ...
    struct user;
    struct item;
    struct relation;
    ...
    typedef unsigned int _container_number_;
    typedef unsigned int. _value_number_;
    . ..
    typedef std::vector<user*> user_container;
    typedef std::vector<item*> item_container;
    #endif // !_COMMON_H
    ...

    //mass_diffusion.h#include "common.h"
    extern void init_md(user_container
    , item_container);void compute(user_container
    _ulist, item_container _ilist);...

    //mass_diffusion.cpp#include "mass_diffusion.h" # Integrieren Sie "Common.h"
    extern void init_hc (user_container
    _ulist, item_container _ilist); duction .h"void init_hc(user_container
    _ulist, item_container _ilist){...};void compute(user_container
    _ulist, item_container
    _ilist) {...}; ...
    //main. cpp
    #include „mass_diffusion.h“#include „heat_conduction.h“

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(1)
PHPzhong

本来就会报错,你各个模块都链接到同一个文件里,链接器一看那么多符号都一个名字自然就gg了,.h里面暴露什么链接器不会管的,解决方法是各个模块独立编译成so或者dll,然后再调用,或者用命名空间

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage