0

Qt に 2 つのモジュールがあり
ます 1. SapPackets : lib
2. SapApplication :
両方のモジュールの app pro ファイル
SapPackets.pro には Qt -= gui
SapApplication.pro には Qt += コア gui xml があります

対象OSはWindows7

SapPacket.lib にクラス SapEntity があります

#ifndef SAPENTITYCLASS_HPP
#define SAPENTITYCLASS_HPP
#include <QString>

namespace Sap
{
    namespace Entity
    {
        class SapEntityClass
        {
            protected:
                unsigned short mush_Id; /* Entity Id */
                QString msz_title; /* Entity Title */
            public:
                SapEntityClass(const unsigned short Id,const QString title);
                unsigned short GetId() const;
                QString GetTitle() const;
        };
    }
}
#endif

SapEntityの実装ファイルは

#include "SapEntityClass.hpp"
using namespace Sap::Entity;

SapEntityClass::SapEntityClass(const unsigned short Id,const QString title)
:mush_Id(Id),msz_title(title)
{}

inline
unsigned short SapEntityClass::GetId() const
{
     return mush_Id;
}

inline
QString SapEntityClass::GetTitle() const
{
    return msz_title;
}

SapApplication.pro には、SapPackets.lib を追加するための次の行があります。

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../SapPackets_Build/release/ -    lSapPackets
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../SapPackets_Build/debug/ -lSapPackets
else:unix: LIBS += -L$$PWD/../SapPackets_Build/ -lSapPackets

INCLUDEPATH += $$PWD/../SapPackets
DEPENDPATH += $$PWD/../SapPackets

SapApplication の主な機能

#include <iostream>
#include "SapEntityClass.hpp"
using namespace Sap::Entity;
int main(int argc, char *argv[])
{
     SapEntityClass obj(56,"Sample");
     std::cerr<<obj.GetId();
     return 0;
}

問題: Compilationa で次のエラーが発生します

main.obj:-1: error: LNK2019: unresolved external symbol "public: unsigned short   
__thiscall Sap::Entity::SapEntityClass::GetId(void)const " (?   
GetId@SapEntityClass@Entity@Sap@@QBEGXZ) referenced in function _main

これを解決するのを手伝ってください....

4

2 に答える 2