Importlibrary für VS 2K3



  • Hallo,

    zwei dumme Fragen:
    1)
    Möchte Funktionen in einer Dll verwenden.
    Beim Borland-Compiler oder auch beim gcc erstell ich einfach eine
    Importlib und linke diese zum Projekt hinzu.
    (mit "implib.exe" bzw. "dlltool.exe")

    Wie erstell ich so eine lib für's Visual Studio 2003?

    Wie kann ich die lib dann einem Projekt hinzufügen?
    Hab da irgendwie noch nix gefunden.

    Danke schon mal.
    Martin



  • hm...

    keiner eine Antwort?

    zu 1) hab ich inzwischen was gefunden: lib.exe

    wie ich die importlib dann aber einem Projekt hinzufügen kann,
    ist mir immer noch ein Rätsel...



  • Da gibts 3 (drei!) Möglichkeiten i VC++, und du hast keine einzige gefunden? 😕

    Also, entweder du fügst die Lib-Datei zu deinem Projekt hinzu (in der Dateiansicht des Projektbaums), du trägst es unter Projekteinstellungen->Linker->zus. Befehlszeile hinzu oder du gibst ihm einfach ein zus. Lib-Pfad an, wo VC++ sich die Lib selbst raussucht. Das machst du unter Optionen->VC++Pfade oder so ähnlich (weiß nicht mehr den genauen Wortlaut des Menupunktes). Da trägt man auch zus. Include-Verzeichnisse usw. ein.

    Mehr braucht man nicht machen. Gelinkt wird autom. beim Build-Vorgang.



  • Artchi schrieb:

    Also, entweder du fügst die Lib-Datei zu deinem Projekt hinzu (in der Dateiansicht des Projektbaums)

    Hm.. da gibts nur "Verweise", "Quelldateien", "Headerdateien" und "Resourcedateien".

    Wo soll da die lib rein?
    Beim Einfügen eines vorhandenen Elements kann ich nirgends eine *.lib auswählen.
    (Oder heissen die unter vs anders, also z. B. *.a wie beim gcc?)

    Artchi schrieb:

    du trägst es unter Projekteinstellungen->Linker->zus. Befehlszeile hinzu

    Hört sich interessant an, leider ist mir die Befehlszeile vom vs
    vollkommen unbekannt 😕
    ein "link.exe /?" hat mir dabei leider auch nicht recht viel weitergeholfen

    Artchi schrieb:

    oder du gibst ihm einfach ein zus. Lib-Pfad an, wo VC++ sich die Lib selbst raussucht. Das machst du unter Optionen->VC++Pfade oder so ähnlich (weiß nicht mehr den genauen Wortlaut des Menupunktes).

    Hehe, die hab ich schon gefunden:
    Unter "Projekt->Eigenschaften von ..->Linker->Allgemein"
    hab ich die "zusätzlichen Bibliothekspfade" angegeben.
    Aber irgendwie sucht er sich da nix selber raus.
    Spuckt bloss lauter Fehler aus, dass er die Funktionen nicht finden kann.
    (O-Ton: mql error LNK2019: Nicht aufgelöstes externes Symbol '_mysql_close@4', verwiesen in Funktion '"public: __thiscall MQL::~MQL(void)" (??1MQL@@QAE@XZ)'
    )

    Artchi schrieb:

    Da trägt man auch zus. Include-Verzeichnisse usw. ein.

    Wenn wir schon beim Thema sind:
    Auch das hab ich noch nicht gefunden...

    Kann evtl. sein, dass es sich um ein "beschnittenes" Visual Studio handelt?
    Ist aus dem MSDNAA-Zeug (oder wie das auch immer heisst)

    Danke,
    Martin



  • So, jetzt hab ich mal VC++ 2003 offen und kann mal die genauen Menupunkte nennen...

    anonymus schrieb:

    Wo soll da die lib rein?
    Beim Einfügen eines vorhandenen Elements kann ich nirgends eine *.lib auswählen.
    (Oder heissen die unter vs anders, also z. B. *.a wie beim gcc?)

    Projektexplorer->Projektmappe->Projekt->RechteMousetaste->Hinzufügen->Vorhandenes Element. Und dann die Lib-Datei auswählen.

    anonymus schrieb:

    Hört sich interessant an, leider ist mir die Befehlszeile vom vs
    vollkommen unbekannt 😕
    ein "link.exe /?" hat mir dabei leider auch nicht recht viel weitergeholfen

    Ehm, der Menupunkt heißt so: Projekteigensch.->Bibliothekar->Befehlszeile

    Dort kannst du die Lib-Datei angeben, entweder nur den Dateinamen, oder relativ zu den globalen Einstellungen (s.u.) oder mit kompletten Pfad.

    Ansonst noch wegen den globalen Pfadangaben für Libs und Includes:

    Extras->Optionen->Projekts->VC++Verzeichnisse

    Da kannste alle Pfade angeben, die VC++ kennen soll. Rechtsoben im Dialog entspr. für Executables, Includes, Libs, Quelldateien und Verweise. Normalerweise sucht er sich dann die Sachen autom. aus. Jedenfalls funktioniert das mit Boost. 😉



  • huiuiui,

    gut versteckt das ganze...

    aber jetzt läufts.

    Danke schön 🙂


Anmelden zum Antworten