DLL in C++ einbinden

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von milaim.

    DLL in C++ einbinden

    Hi, ich weiss, ist zwar nicht das richtige Forum dafür aber ich frag trotzdem mal nach, vielleicht hat ja jemand eine Idee.

    In C++ reichen leider meine Kenntnisse nicht weiter aus, als eigene klassen und header zu basteln und so..

    Jetzt hab ich ein Problem, und zwar muss ich eine .dll in C geschrieben in ein C++ Projekt in Visual Studio einbauen. Hab etwas gegooglet aber irgendwie will das alles nicht funktionieren.

    Gibts unter euch vielleicht einen fortgeschrittenen c++ Entwickler der mir da evtl. weiterhelfen kann??

    Ich hab folgendes versucht, da ich auch die source davon habe:

    - Über Verweise (so wie bei VB und Co.) die dll versucht einzubinden (erfolglos)
    - die headerdatei included. Da wird mir als Fehler folgendes ausgegeben, wenn ich das hier versuche:

    Quellcode

    1. TIFF* image = TIFFOpen("C:\test.tif", "r");


    Fehler dazu:

    Quellcode

    1. Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TIFFOpen" in Funktion "_main". main.obj


    der Include der header Datei sieht dann so aus:

    Quellcode

    1. #include "C:\Program Files (x86)\GnuWin32\src\tiff\3.8.2\tiff-3.8.2-src\libtiff\tiffio.h"


    Übrigens muss ich mit der dll eine Tiff datei "bearbeiten". Wie, weiss ich noch lange nicht aber wenn ich nicht mal die dll verwenden kann (oder den source) dann nützt mir das weitere wenig.

    Hoffe da kann mir evtl einer nen Tip geben.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer
    Hallo milliam,
    In der Include anweisung dürfen keine \ benutzt werden da dies Steuerzeichen sind z.b. \n du musst es durch / ersetzen.
    Ansonsten was kam beim Dll einbinden? Wenn nichts dann sollte es klappen mit using namespace.
    Mfg
    loadsoft
    danke für eure Antworten. Also den Verweis der dll bekomm ich garnicht erst hin. Das einzige was teilweise funktioniert hat war der #include den ich auch gepostet hatte, nur es wurden keine Funktionen ausgeführt.

    Diesen Pointer kann ich zwar setzen:
    TIFF* image;

    Sobald ich aber eine Funktion ausführen will wie z.B. TIFFOpen gibt es mir diese Fehlermeldung aus.
    Und die dll kann ich aus mir unerklärlichen gründen auch nicht hinzufügen, es sei denn da gibts noch ein Trick in VC++ den ich noch nicht kenne.

    die beiden anderen #includes hab ich auch versucht, da muss aber die header-Datei im selben Verzeichnis sein. Das wiederrum hab ich auch versucht, hat auch nichts gebracht, denn wenn dieser header im selben Verzeichnis ist müssten die ganzen binaries auch mit rüber.

    Dennoch werd ich mir das nochmal mit den vorgeschlagenen Methoden von euch versuchen und zusehen, dass ichs zum laufen bringe.

    Meld mich dann wieder wenns funktioniert hat / oder auch nicht. Ach ich hasse C++ ;)
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer