Ich versuche eine statische Bibliothek in VS2010 mit meiner DLL zu verknüpfen und aus irgendeinem Grund werden die erforderlichen Symbole nicht aufgelöst. Ich habe die Bibliothek hinzugefügt wie Sie jede Bibliothek, aber immer noch nicht gehen. Ich rufe auch die Symbole genau so auf, wie sie sein sollten, ich kopiere die Implementierung eines anderen, die funktioniert, damit sie nicht falsch liegen können. Ist es eine Einstellung, die ich vielleicht vermisse? Ich habe eine lib.exe/dumpall gemacht und alles scheint in Ordnung zu sein. Sehr frustrierend.Was sind die Gründe, die mich daran hindern, eine statische Bibliothek in VS2010 korrekt mit meiner DLL zu verbinden?
1
A
Antwort
2
Nach dem Überprüfen der Verknüpfung mit der Bibliothek, sehe ich, dass die Quelle alle C-Source-Dateien sind, und keine der Header haben extern "C"
für die Funktionsdeklarationen.
Das bedeutet, wenn Sie die Header-Dateien in Ihr Projekt einfügen, haben die Funktionsdeklarationen mangled names, Namen (Symbole), die nicht mehr mit denen in der Bibliothek übereinstimmen.
Entweder Sie sollten die Funktionen, die Sie selbst verwenden, mit extern "C"
deklarieren oder die Aufnahme der Header-Dateien mit extern "C" { ... }
umbrechen.
+0
Vielen Dank, Sir! – daithioronain
Verwandte Themen
- 1. Was sind die legitimen Gründe, MappedByteBuffer.force() aufzurufen?
- 2. Converting statische Link-Bibliothek in dynamische DLL
- 3. Was sind die VS2010 Navigieren zu Next/Prev Funktionstasten?
- 4. Was sind die häufigsten Gründe für Anfragen ohne Referrer?
- 5. Wie kann ich Visual Studio 2010 daran hindern, Absätze hervorzuheben?
- 6. Kann ich ein UITableViewCell daran hindern, seine Subviews zu autorisieren?
- 7. Was könnte OpenGL glDrawPixels daran hindern, an einigen Grafikkarten zu arbeiten?
- 8. Kann ich MySQL daran hindern, bestimmte Werte zu indizieren?
- 9. Gibt es eine Möglichkeit, den Server daran zu hindern, Ihren HTML-Code zu überschreiben?
- 10. Was sind die Gründe für dieses Benchmark-Ergebnis?
- 11. Gibt es ein Perl-Modul, das mich daran hindern kann, etwas hinzuzufügen oder zu sterben, was scheitern kann?
- 12. Wie kann ich Gebäudebibliotheksprojekte verwalten, die sowohl eine statische Bibliothek als auch eine DLL erzeugen?
- 13. Sind Cookies auf einer Website ohne Benutzer die einzige Möglichkeit, Personen daran zu hindern, Aktionen zu wiederholen?
- 14. Verwenden von Überschwang, um die Maus daran zu hindern, das Fenster zu verlassen
- 15. Wie kann man eine Reduce-Funktion daran hindern, die Liste zu bearbeiten, nachdem die gewünschte Akkumulation erreicht wurde?
- 16. Welche Websites gibt es, die dem "Entwickler" die Möglichkeit gibt, Clients daran zu hindern, HTML zu ändern?
- 17. Gibt es eine Möglichkeit, den Googlebot daran zu hindern, bestimmte Teile einer Seite zu indizieren?
- 18. Was sind die Gründe, SQL Server anstelle von MySQL mit einem komplexen .NET-Projekt zu verwenden?
- 19. Was sind die Lizenzbeschränkungen für die RxTx-Bibliothek?
- 20. Was sind die Gründe dafür, keinen Index in Java 8 Streams zu haben?
- 21. eine statische Bibliothek zu einem iPhone-Projekt
- 22. , wie Python statische Bibliothek mit meinem C++ - Programm verbinden
- 23. Erstellen Sie eine statische Bibliothek mit einer anderen STATIC-Bibliothek, die Inhalt in iOS mit CMake
- 24. Korrigieren Sie die Bezeichnungen meiner Farbleiste korrekt?
- 25. C Statische Bibliothek (.lib) zur Verwendung in einer C DLL
- 26. CMake: Systembibliothek mit gcc korrekt verbinden
- 27. "undefiniert reference", wenn die Verknüpfung gegen eine statische Bibliothek
- 28. Wie würde ich Maven mit Maven daran hindern, bestimmte Eigenschaften zu filtern, aber anderen zu erlauben?
- 29. Statische Bibliothek mit Abhängigkeiten
- 30. Gibt es eine Möglichkeit, Firebug daran zu hindern, an einer bestimmten Site zu arbeiten?
Ist die Bibliothek eine C-Bibliothek? Haben die Funktionsdeklarationen aus der Bibliothek 'extern 'C'' wenn sie mit einem C++ Compiler kompiliert werden? –
Nein, soweit ich weiß, ist es eine C++ - Bibliothek, die in VS2003 kompiliert wurde. Das ursprüngliche Projekt, das es verwendete, war jedoch auch ein VS2003-Projekt, aber nachdem ich es in VS2010 konvertiert hatte, funktionierte es immer noch gut. – daithioronain
Hier kommt der ursprüngliche Code her. Ich versuche, ihre statische Link-Bibliothek zu verwenden. https://github.com/toots/microsoft-audio-watermarking – daithioronain