Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. [Resolvido] Importar dll
Qt 6.11 is out! See what's new in the release blog

[Resolvido] Importar dll

Scheduled Pinned Locked Moved Portuguese
3 Posts 2 Posters 3.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    JLamas
    wrote on last edited by
    #1

    Boas

    Existe um SDK que me dá um header, librarias e até um .cpp de teste. Pretendo fazer a interface entre o software e um sensor.
    Portanto:
    No .pro adicionei as librarias e o path:
    @LIBS += -L$$PWD\libs\Vicon\ -lViconDataStreamSDK_CPP
    INCLUDEPATH += $$PWD\libs\Vicon\include@

    No .cpp já adicionei o meu header:
    @#include "Client.h"@

    Este header é composto por uma data de classes dentro do namespace que adicionei nos ficheiros sempre que utilizo classes de lá:
    @using namespace ViconDataStreamSDK::CPP;@

    Tudo parece em ordem mas quando faço debug aparece o seguinte erro:

    engine.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) public: class ViconDataStreamSDK::CPP::Output_Connect __thiscall ViconDataStreamSDK::CPP::Client::Connect(class ViconDataStreamSDK::CPP::String const &)" (_imp?Connect@Client@CPP@ViconDataStreamSDK@@QAE?AVOutput_Connect@23@ABVString@23@@Z) referenced in function "public: void __thiscall Engine::ConnectVicon(void)" (?ConnectVicon@Engine@@QAEXXZ)

    engine.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall ViconDataStreamSDK::CPP::Client::Client(void)" (_imp??0Client@CPP@ViconDataStreamSDK@@QAE@XZ) referenced in function "public: void __thiscall Engine::ConnectVicon(void)" (?ConnectVicon@Engine@@QAEXXZ)

    No header Client.h se comentar o código seguinte passa o problema mas aprecem uma data deles relacionados com as classes que utilizo localizadas no header. Portanto penso que esteja relacionado com este código:

    @#ifdef _EXPORTING
    #define CLASS_DECLSPEC __declspec(dllexport)
    #else
    #define CLASS_DECLSPEC __declspec(dllimport)
    #endif // _EXPORTING@

    Já adicionei as dll e o header nas pastas que estou a trabalhar e na pasta de debug.
    Alguma ideia do que se passa? Estará relacionado com o facto de talvez as librarias terem sido desenvolvidas em VC++ e estar a usar um IDE diferente? Tenho que adicionar algo mais?

    Obrigado

    1 Reply Last reply
    0
    • R Offline
      R Offline
      Rodrigocg
      wrote on last edited by
      #2

      leia: https://sites.google.com/site/qxormpostgres/generar-driver-postgres-qt

      procure os passos sobre o aplicativo reimp e dlltool... gere os arquivos .a remova o "_" de todos os nomes de funçoes, gere outra dll com o dlltool e veja se resolve...

      esse problema acontece pq a dll pode nao ser compativel com o mingw.

      essas ferramentas que eu postei converte elas para dlls compativeis..

      espero ter ajudado e desculpe nao ter respondido antes, pois vi o poste e fiquei com preguiça deresponder...

      mas, antes tarde do que nunca, rs

      se resolveu o seu problema poste, pois essa duvida pode ser a de outro...

      1 Reply Last reply
      0
      • J Offline
        J Offline
        JLamas
        wrote on last edited by
        #3

        Problema foi resolvido entretanto.

        Estava relacionado com dll de x64 a correr em qt x86, posteriormente foram geradas dll de x86 e ficou resolvido. Queria o impossivel, enfim, amador =).

        Obrigado pelo reply

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved