1

hola primero agradecerles por su gran colaboración,

verán estoy tratando de arreglar este error

libtorrent-0.15.5WMTd.lib(entry.obj) : error LNK2019: símbolo externo "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) sin resolver al que se hace referencia en la función "public: void __thiscall std::locale::facet::_Register(void)" (?_Register@facet@locale@std@@QAEXXZ)

en torrentpatch.cpp tengo esto(update)

    bool EL_TorrentPatcher::__DownloadTorrentBody(const std::string& torrentHead, const PatchInfo& patchInfo, EL_PatchConfig& config, const std::string& fastResumeName, Earth::EA_CStatus *pcStatus)
{
    if (torrentHead.empty())
    {
        if( pcStatus )
            pcStatus->AddNR( Earth::EA_STATUS_ERROR, EL_LTEXT("TORRENT_DATA_EMPTY") );
        return false;
    }

    entry e = bdecode(torrentHead.begin(), torrentHead.end());
    torrent_info ti(e);

    // ¸ÖƼ Å䷻ƮÀÇ °æ¿ì ¸ðµç ÆÄÀÏ ÀúÀå °æ·Î¸¦ ÇöÀç Æú´õ ±âÁØÀ¸·Î ¸¸µé¾îÁØ´Ù.
    {
        const std::string& tname = ti.name();

        int numFiles = ti.num_files();
        for (int i = 0; i != numFiles; ++i)
        {
            const file_entry& fe = ti.file_at(i);
            const std::string& filePath = fe.path.string();
            if (filePath.compare(0, tname.length(), tname) == 0)
            {
                std::string newPath = filePath.substr(tname.length()+1);
                ti.rename_file(i, newPath);
            }
        }
    }

que estoy haciendo mal en este código torrentpatch.h (update)

class EL_TorrentPatcher
{
public:
    EL_TorrentPatcher();
    EL_TorrentPatcher(EL_PatchThread* pcPatchThread);

    bool Begin(EL_PatchConfig& stConfig, Earth::EA_CStatus *pcStatus);
    bool Patch(EL_PatchConfig& stConfig, PatchInfos& cPatchInfos, Earth::EA_CStatus *pcStatus);
    bool Seeding(EL_PatchConfig& stConfig);
    bool End( void );

public:
    virtual ~EL_TorrentPatcher();   

protected:
    bool __TorrentMain(EL_PatchConfig& config, EL_PatchStatus& status, PatchInfos& cPatchInfos, Earth::EA_CStatus *pcStatus=NULL);
    bool __DownloadPatches(const PatchInfos& patchInfos, EL_PatchConfig& config, Earth::EA_CStatus *pcStatus=NULL);
    bool __DownloadTorrentBody(const std::string& torrentHead, const PatchInfo& patchInfo, EL_PatchConfig& config, const std::string& fastResumeName, Earth::EA_CStatus *pcStatus=NULL);
    void __SetBandwidth(MA_UINT bandwidth);

    void UpdateProgressPeerAndSpeed();

private:

private:
    libtorrent::session*        m_pcSession;
    EL_PatchThread*             m_pcPatchThread;
};

al tratar de compilar me da un poco de errores con este código

estaba viendo entry.hpp y me encontré con esto(update)

.....
protected:

        void construct(data_type t);
        void copy(const entry& e);
        void destruct();

    private:

#ifndef TORRENT_DEBUG
        data_type m_type;
#else
crt
  • 117
  • 1
  • 9
  • hola, gracias por responde; vera si masomenos entiendo de que va el error pero no se es como puede ser el código, veo que hace referencia a una configuración regional – crt Jan 30 '18 at 18:09
  • El problema es que a la hora de enlazar... es decir, convertir los `.o` en un ejecutable, no le estás pasando al enlazador la ruta del `.o` que contiene a `facet_Register`... o lo estás pasando en un orden incorrecto (sí, el orden de las dependencias **es importante**). Si estás trabajando con VS posiblemente has configurado mal el proyecto ya que estas cosas las gestiona automáticamente... posiblemente no hayas añadido los archivos de `facet_Register` al proyecto... no basta solo con abrir el archivo sino que hay que añadirlo al proyecto. – eferion Jan 30 '18 at 18:38
  • El código que muestras es **imposible** que compile; para empezar, los constructores no puede devolver nada, ni ser `static`. Y la clase que muestras no se corresponde con el error, los nombres no coinciden. ¿ Y dices que da error de enlazado ? –  Jan 30 '18 at 20:39
  • hola, a que se refiere con "los nombres no coinciden" ?? – crt Jan 30 '18 at 22:32
  • actualice el código es lo q originalmente tenia – crt Jan 31 '18 at 06:08

0 Answers0