Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » DLL einbinden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
21.07.2006, 19:31 Uhr
Usul



hi,

ich möchte eine DLL in einem (windows) visual c++ projekt verwenden:


Code:
#include "stdafx.h"
#include<iostream>
using namespace std;

#pragma comment( lib, "RegisterServer.lib" )
extern "C" __declspec(dllimport)char* RegisterServer(char* url);


int _tmain(int argc, _TCHAR* argv[])
{
    char* blubb = RegisterServer("hallo");
    
      cin.get();

    return 0;
}



Die DLL (mit lib) liegt im selben Verzeichniss wie der Quellcode.

Ich kriege aber folgende Fehlermeldungen:


Zitat:
Error 1 error LNK2019: unresolved external symbol __imp__RegisterServer referenced in function _wmain useDll.obj
Error 2 fatal error LNK1120: 1 unresolved externals G:\C Sharp\useDll\Debug\useDll.exe



Die DLL sieht so aus:

RegisterServer.cpp

Code:
#include "stdafx.h"
#include "RegisterServer.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

        extern "C" char* PASCAL EXPORT RegisterServer(char* url)
        {
            AFX_MANAGE_STATE(AfxGetStaticModuleState());

            char* content = "hello";
            
            return content;
        }

// CRegisterServerApp

BEGIN_MESSAGE_MAP(CRegisterServerApp, CWinApp)
END_MESSAGE_MAP()

// CRegisterServerApp construction

CRegisterServerApp::CRegisterServerApp()
{
    // TODO: add construction code here,
    // Place all significant initialization in InitInstance
}

// The one and only CRegisterServerApp object

CRegisterServerApp theApp;

// CRegisterServerApp initialization

BOOL CRegisterServerApp::InitInstance()
{
    CWinApp::InitInstance();

    return TRUE;
}




RegisterServer.def

Code:
; RegisterServer.def : Declares the module parameters for the DLL.

LIBRARY      "RegisterServer"

EXPORTS
    ; Explicit exports can go here
    RegisterServer


Dieser Post wurde am 21.07.2006 um 19:32 Uhr von Usul editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.07.2006, 10:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,
benutz nich PASCAL EXPORT sondern mal __declspec(dllexport). Du musst auch die Funktion dann nicht mehr explizit exportieren in der def-file, könnte sein das er sonst die namen anders zuweist.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.07.2006, 11:09 Uhr
Usul




Zitat von FloSoft:
Hallo,
benutz nich PASCAL EXPORT sondern mal __declspec(dllexport). Du musst auch die Funktion dann nicht mehr explizit exportieren in der def-file, könnte sein das er sonst die namen anders zuweist.



Vielen Dank, das klappt!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: