2009-06-17 9 views
1

Ich arbeite an einem C++ - Projekt, das mit einer statischen Bibliothek verknüpft. Ich möchte jedoch die TBB von Intel verwenden, die nur als dynamische Bibliothek verfügbar ist. Ich habe versucht, das im Visual Studio einzurichten, aber ich kann es nicht zum Laufen bringen. Hat jemand detaillierte Anweisungen, dies zu tun, wenn es möglich ist?Verknüpfung mit statischen und dynamischen Bibliotheken in MSVC

Antwort

3

Wenn eine Bibliothek als dynamische Bibliothek (.dll) zur Verfügung gestellt wird, enthält sie normalerweise auch eine .lib-Datei (wie in dieser question beschrieben). Dies kann zu der Liste des Projekts hinzugefügt werden, der Eingänge die gleiche Art und Weise, dass eine statische Bibliothek ist

Projekt Eigenschaften-> Konfiguration Eigenschaften-> Linker-> Input-> Zusätzliche Abhängigkeiten (in VS2008)

Wenn eine .lib nicht verfügbar ist, müssen Sie die .dll zur Laufzeit mithilfe der Win32-API-Funktion LoadLibraryEx laden und dann die folgenden Aufrufe an GetProcAddress, um die Adressen der Funktionen abzurufen, die Sie benötigen.

1

Sprechen Sie über die Verknüpfung mit einer RUNTIME-Bibliothek? Nein, Sie können nur auf eins verlinken. Sie müssen entweder Ihr Projekt ändern, oder Sie müssen die TBB neu kompilieren, um auch mit der statischen Laufzeit zu verknüpfen.

Verwandte Themen