2014-12-03 5 views
0

Я уверен, что этот вопрос задан раньше, но я искал SO настолько, насколько мог, и до сих пор не смог найти точную причину ошибки. Таким образом, выкладываем новый.LNK2019 неразрешенный внешний символ в конструкторе, несмотря на определение в cpp

Я использую библиотеку C++ (txmpp) в своем проекте. Библиотека добавлена ​​правильно, но я получаю много нерешенных проблем с внешними символами, в основном в конструкторе классов, которые я пытаюсь использовать. Например, в следующем классе -

xmppthread.h

#ifndef _HELLO_XMPPTHREAD_H_ 
#define _HELLO_XMPPTHREAD_H_ 

#include "../../thread.h" 
#include "../../xmppclientsettings.h" 
#include "xmpppump.h" 

namespace txmpp { 

class XmppThread: public txmpp::Thread, XmppPumpNotify, txmpp::MessageHandler { 
    public: 
    XmppThread(); 
    ~XmppThread(); 

    XmppClient* client() { return pump_->client(); } 

    void ProcessMessages(int cms); 
    void Login(const txmpp::XmppClientSettings & xcs); 
    void Disconnect(); 

    private: 
    XmppPump* pump_; 

    void OnStateChange(txmpp::XmppEngine::State state); 
    void OnMessage(txmpp::Message* pmsg); 
}; 

} // namespace txmpp 

#endif // _HELLO_XMPPTHREAD_H_ 

xmppthread.cc

#include "xmppthread.h" 

#include <assert.h> 
#include "../../prexmppauthimpl.h" 
#include "../../xmppasyncsocketimpl.h" 
#include "../../xmppclientsettings.h" 

namespace txmpp { 
namespace { 

const uint32 MSG_LOGIN = 1; 
const uint32 MSG_DISCONNECT = 2; 

struct LoginData : public MessageData { 
    LoginData(const XmppClientSettings& s) : xcs(s) {} 
    virtual ~LoginData() {} 
    XmppClientSettings xcs; 
}; 

} // namespace 

XmppThread::XmppThread() { 
    pump_ = new XmppPump(this); 
} 

XmppThread::~XmppThread() { 
    delete pump_; 
} 

void XmppThread::ProcessMessages(int cms) { 
    Thread::ProcessMessages(cms); 
} 

void XmppThread::Login(const XmppClientSettings& xcs) { 
    Post(this, MSG_LOGIN, new LoginData(xcs)); 
} 

void XmppThread::Disconnect() { 
    Post(this, MSG_DISCONNECT); 
} 

void XmppThread::OnStateChange(XmppEngine::State state) { 
} 

void XmppThread::OnMessage(Message* pmsg) { 
    switch (pmsg->message_id) { 
    case MSG_LOGIN: { 
     assert(pmsg->pdata); 
     LoginData* data = reinterpret_cast<LoginData*>(pmsg->pdata); 
     pump_->DoLogin(data->xcs, new XmppAsyncSocketImpl(true), 
        new PreXmppAuthImpl()); 
     delete data; 
     } 
     break; 
    case MSG_DISCONNECT: 
     pump_->DoDisconnect(); 
     break; 
    default: 
     assert(false); 
    } 
} 

} // namespace hello 

Я получаю следующее сообщение об ошибке -

1>XMPPController.obj : error LNK2019: unresolved external symbol "public: __thiscall txmpp::XmppThread::XmppThread(void)" ([email protected]@@[email protected]) referenced in function "public: void __thiscall XMPPController::Init(void)" ([email protected]@@QAEXXZ) 
1>XMPPController.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall txmpp::XmppThread::~XmppThread(void)" ([email protected]@@[email protected]) referenced in function "public: void __thiscall XMPPController::Init(void)" ([email protected]@@QAEXXZ) 

Я обычно вижу это kinda linker error только тогда, когда определение функции (конструктор/деструктор в этом случае) не является pr ovided. Однако, как вы видите, определение включено. Эта ошибка порождает только тогда, когда я делаю это в моем проекте -

xmpp::XmppThread thread; 

Как только я удалить оператор объявления, ошибка сшивания идет. Проблема в том, что ни один из этих кодов не написан мной и не был взят из библиотеки txmpp. Этот конкретный класс из библиотеки libjingle Google, поэтому я уверен, что делаю здесь действительно глупую ошибку.

Я не хочу, чтобы этот вопрос был «Вот мой код, решите его». Вместо этого я хочу знать, какими могут быть обстоятельства, при которых может возникнуть неразрешенная ошибка внешнего символа, несмотря на объявление? (Код для доказательства того, что реализация там)

Любое предложение?

Update
Вот точные результаты я получаю после выключения Подавите вариант запуска баннера -

1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/FORCE' specification 
    1>AirPlaySystem.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification 
    1>LIBCMTD.lib(sscanf.obj) : warning LNK4006: _vsscanf already defined in s3e_d.lib(iwcrt_win32.obj); second definition ignored 
    1>LIBCMTD.lib(strtoq.obj) : warning LNK4006: _strtof already defined in s3e_d.lib(iwcrt_common.obj); second definition ignored 
    1>  Creating library Debug_BarnC_vc12_x86\BarnC.lib and object Debug_BarnC_vc12_x86\BarnC.exp 
    1>XMPPController.obj : error LNK2019: unresolved external symbol "public: __thiscall txmpp::XmppThread::XmppThread(void)" ([email protected]@@[email protected]) referenced in function "public: void __thiscall XMPPController::Init(void)" ([email protected][email protected]@QAEXXZ) 
    1>XMPPController.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall txmpp::XmppThread::~XmppThread(void)" ([email protected]@@[email protected]) referenced in function "public: void __thiscall XMPPController::Init(void)" ([email protected]@@QAEXXZ) 
    1>Debug_BarnC_vc12_x86\BarnC.s86 : fatal error LNK1120: 2 unresolved externals 
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Update 2: Это подробный вывод линкера после добавления многословного компоновщика параметр командной строки -

1> Microsoft (R) Incremental Linker Version 12.00.31101.0 
1> Copyright (C) Microsoft Corporation. All rights reserved. 
1> 
1> "/OUT:Debug_BarnC_vc12_x86\BarnC.s86" /INCREMENTAL /LIBPATH:d:/marmalade/7.4/modules/third_party/sqlite/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwutil/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/third_party/libjpeg/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/third_party/zlib/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/third_party/libpng/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iw2d/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwgx/atitools /LIBPATH:d:/marmalade/7.4/modules/iwgx/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwgl/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwgeom/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwresmanager/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwgxfont/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/third_party/tiniconv/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwui/lib/x86 /LIBPATH:d:/marmalade/7.4/modules/iwhttp/lib/x86 /LIBPATH:d:/marmalade/7.4/extensions/s3etxmpp/lib/x86 /LIBPATH:d:/marmalade/7.4/s3e/lib/x86 vc6_compat.lib sqlite_d.lib iwutil_d.lib jpeg_d.lib z_d.lib png_d.lib iw2d_d.lib ATI_Compress_MT_VC7.lib iwgx_d.lib iwgl_d.lib iwgeom_d.lib iwresmanager_d.lib iwgxfont_ttf_d.lib tiniconv_d.lib iwui_d.lib iwhttp_d.lib s3eTxmpp_d.lib s3e_cpp_d.lib s3e_d.lib s3e_api_iwgl.lib /NODEFAULTLIB:libcmt /MANIFEST:NO /DEBUG "/PDB:Debug_BarnC_vc12_x86\BarnC.pdb" /SUBSYSTEM:WINDOWS /OPT:NOREF /OPT:NOICF /TLBID:1 "/ENTRY:DllEntryPoint" /DYNAMICBASE /NXCOMPAT "/IMPLIB:Debug_BarnC_vc12_x86\BarnC.lib" /MACHINE:X86 /include:_IwMain /include:_raise /include:[email protected] /force:multiple /VERBOSE:LIB /DLL Debug_BarnC_vc12_x86\AirPlaySystem.obj 
1> Debug_BarnC_vc12_x86\CTextField.obj 
1> Debug_BarnC_vc12_x86\Chat.obj 
1> Debug_BarnC_vc12_x86\ChatController.obj 
1> Debug_BarnC_vc12_x86\ChatGroup.obj 
1> Debug_BarnC_vc12_x86\ChatMenu.obj 
1> Debug_BarnC_vc12_x86\Contact.obj 
1> Debug_BarnC_vc12_x86\ContactController.obj 
1> Debug_BarnC_vc12_x86\HttpManager.obj 
1> Debug_BarnC_vc12_x86\LoginMenu.obj 
1> Debug_BarnC_vc12_x86\Main.obj 
1> Debug_BarnC_vc12_x86\MainMenu.obj 
1> Debug_BarnC_vc12_x86\MenuBase.obj 
1> Debug_BarnC_vc12_x86\MenuController.obj 
1> Debug_BarnC_vc12_x86\PVRTexTool_interface.obj 
1> Debug_BarnC_vc12_x86\SimpleTouch.obj 
1> Debug_BarnC_vc12_x86\UnivApp.obj 
1> Debug_BarnC_vc12_x86\XMPPController.obj 
1> Debug_BarnC_vc12_x86\md5c.obj 
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/FORCE' specification 
1>AirPlaySystem.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification 
1> 
1> Searching libraries 
1>  Searching d:/marmalade/7.4/modules/third_party/sqlite/lib/x86\sqlite_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwutil/lib/x86\iwutil_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libjpeg/lib/x86\jpeg_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/zlib/lib/x86\z_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libpng/lib/x86\png_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iw2d/lib/x86\iw2d_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/atitools\ATI_Compress_MT_VC7.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/lib/x86\iwgx_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgl/lib/x86\iwgl_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgeom/lib/x86\iwgeom_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwresmanager/lib/x86\iwresmanager_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgxfont/lib/x86\iwgxfont_ttf_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/tiniconv/lib/x86\tiniconv_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwui/lib/x86\iwui_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwhttp/lib/x86\iwhttp_d.lib: 
1>  Searching d:/marmalade/7.4/extensions/s3etxmpp/lib/x86\s3eTxmpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_cpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_api_iwgl.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\OLDNAMES.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\LIBCMTD.lib: 
1>LIBCMTD.lib(sscanf.obj) : warning LNK4006: _vsscanf already defined in s3e_d.lib(iwcrt_win32.obj); second definition ignored 
1>LIBCMTD.lib(strtoq.obj) : warning LNK4006: _strtof already defined in s3e_d.lib(iwcrt_common.obj); second definition ignored 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/sqlite/lib/x86\sqlite_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwutil/lib/x86\iwutil_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libjpeg/lib/x86\jpeg_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/zlib/lib/x86\z_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libpng/lib/x86\png_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iw2d/lib/x86\iw2d_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/atitools\ATI_Compress_MT_VC7.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/lib/x86\iwgx_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgl/lib/x86\iwgl_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgeom/lib/x86\iwgeom_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwresmanager/lib/x86\iwresmanager_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgxfont/lib/x86\iwgxfont_ttf_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/tiniconv/lib/x86\tiniconv_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwui/lib/x86\iwui_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwhttp/lib/x86\iwhttp_d.lib: 
1>  Searching d:/marmalade/7.4/extensions/s3etxmpp/lib/x86\s3eTxmpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_cpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_api_iwgl.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\OLDNAMES.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\LIBCMTD.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/sqlite/lib/x86\sqlite_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwutil/lib/x86\iwutil_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libjpeg/lib/x86\jpeg_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/zlib/lib/x86\z_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libpng/lib/x86\png_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iw2d/lib/x86\iw2d_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/atitools\ATI_Compress_MT_VC7.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/lib/x86\iwgx_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgl/lib/x86\iwgl_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgeom/lib/x86\iwgeom_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwresmanager/lib/x86\iwresmanager_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgxfont/lib/x86\iwgxfont_ttf_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/tiniconv/lib/x86\tiniconv_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwui/lib/x86\iwui_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwhttp/lib/x86\iwhttp_d.lib: 
1>  Searching d:/marmalade/7.4/extensions/s3etxmpp/lib/x86\s3eTxmpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_cpp_d.lib: 
1> 
1> Finished searching libraries 
1>  Creating library Debug_BarnC_vc12_x86\BarnC.lib and object Debug_BarnC_vc12_x86\BarnC.exp 
1> 
1> Searching libraries 
1>  Searching d:/marmalade/7.4/modules/third_party/sqlite/lib/x86\sqlite_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwutil/lib/x86\iwutil_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libjpeg/lib/x86\jpeg_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/zlib/lib/x86\z_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libpng/lib/x86\png_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iw2d/lib/x86\iw2d_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/atitools\ATI_Compress_MT_VC7.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/lib/x86\iwgx_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgl/lib/x86\iwgl_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgeom/lib/x86\iwgeom_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwresmanager/lib/x86\iwresmanager_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgxfont/lib/x86\iwgxfont_ttf_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/tiniconv/lib/x86\tiniconv_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwui/lib/x86\iwui_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwhttp/lib/x86\iwhttp_d.lib: 
1>  Searching d:/marmalade/7.4/extensions/s3etxmpp/lib/x86\s3eTxmpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_cpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_api_iwgl.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\OLDNAMES.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\LIBCMTD.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib: 
1> 
1> Finished searching libraries 
1> 
1> Searching libraries 
1>  Searching d:/marmalade/7.4/modules/third_party/sqlite/lib/x86\sqlite_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwutil/lib/x86\iwutil_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libjpeg/lib/x86\jpeg_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/zlib/lib/x86\z_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/libpng/lib/x86\png_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iw2d/lib/x86\iw2d_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/atitools\ATI_Compress_MT_VC7.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgx/lib/x86\iwgx_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgl/lib/x86\iwgl_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgeom/lib/x86\iwgeom_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwresmanager/lib/x86\iwresmanager_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwgxfont/lib/x86\iwgxfont_ttf_d.lib: 
1>  Searching d:/marmalade/7.4/modules/third_party/tiniconv/lib/x86\tiniconv_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwui/lib/x86\iwui_d.lib: 
1>  Searching d:/marmalade/7.4/modules/iwhttp/lib/x86\iwhttp_d.lib: 
1>  Searching d:/marmalade/7.4/extensions/s3etxmpp/lib/x86\s3eTxmpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_cpp_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_d.lib: 
1>  Searching d:/marmalade/7.4/s3e/lib/x86\s3e_api_iwgl.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\OLDNAMES.lib: 
1>  Searching C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\LIBCMTD.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\uuid.lib: 
1>  Searching C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86\kernel32.lib: 
1> 
1> Finished searching libraries 
1>XMPPController.obj : error LNK2019: unresolved external symbol "public: __thiscall txmpp::XmppThread::XmppThread(void)" ([email protected]@@[email protected]) referenced in function "public: void __thiscall XMPPController::Init(void)" ([email protected]@@QAEXXZ) 
1>XMPPController.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall txmpp::XmppThread::~XmppThread(void)" ([email protected]@@[email protected]) referenced in function "public: void __thiscall XMPPController::Init(void)" ([email protected]@@QAEXXZ) 
1>Debug_BarnC_vc12_x86\BarnC.s86 : fatal error LNK1120: 2 unresolved externals 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 
+1

Обратите внимание, что идентификаторы, начинающиеся с символа подчеркивания, за которым следует буква верхнего регистра, как '_HELLO_XMPPTHREAD_H_', зарезервированы для реализации. –

+0

Хм, похоже, вы не связываетесь с объектным кодом xmppthread.cc. Вы уверены, что вы его компилируете и связываете. Или что объектный код является частью некоторой библиотеки, в которую вы вставляете. Если это кажется ОК, рассмотрите * порядок * ссылок. Это имеет значение с g ++. О, это VIsual C++. Тогда порядок не так важен. –

+0

Спасибо за ответ. Да, у меня такое же впечатление, что реализация не связана вообще. Хотя я не уверен, как я могу это проверить? Есть ли способ проверить связь? – noob

ответ

0

Мармелад (цепь инструментов SDK, которую я использую для bu ild этот проект) не может распознать файлы .cc как исходные файлы. Я изменил их на .cpp, и они узнали. Однако в библиотеке еще много ошибок, но, по крайней мере, я знаю, как их решить. Спасибо за помощь.