LIB Konvertierung
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Mit der coff2omf.exe konvertieren
-
@Christian411
Das hat er ja scheinbar schon versucht. In den von mir angegebenen Links steht das ja auch noch mal.
@jenz
coff2omf sollte eigentlich gehen. Hast du mal mit der impdef eine Definitionsdatei erstellt um zu schauen was in der lib drinsteht? Falls du eine dll hast, kannst du auch mit implib arbeiten.
-
coff2omf geht wirklich nicht. kann es da vielleicht an der version liegen?
impdef arbeitet doch auch mit dlls oder nicht? ich habe nur eine lib.
ich könnte die auch mal rumschicken, falls sich da jemand die mühe machen möchte.
bis dahin,
jenz
-
Du kannst mir die lib ja mal schicken.
-
Es könnte sein, dass deine lib ein zu neues coff-Format verwendet. Hier gibt es eine mögliche Lösung dazu. Ich kann das leider nicht ausprobieren, da ich keinen MS-Compiler habe.
http://www.digitalmars.com/ctg/coff2omf.html
-
Hey Braunstein,
auf der Seite war ich auch schon. Leider hat keine link.exe, die ich habe. Und ich habe mindestens 4 Stück. Den Parameter /convert. Der wird immer bemeckert.
Ich bin da echt ratlos.jenz
-
Tach zusammen,

ich habe im moment das gleiche problem.

Ich hab eine h eine lib und eine dll datei. Die lib datei hab ich dem projekt hinzugefügt und die dll im projektverzeichnis.
wenn ich jetzt aber funktionen aus der h datei aufrufe bekomm ich folgenden fehler:
[Linker Fehler] Unresolved external 'BPM_Create()' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\DETECCTION\PROJECT1.OBJ
[Linker Fehler] Unresolved external 'BPM_getParameter(void *, int)' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\DETECCTION\PROJECT1.OBJ
Ich hab die lib datei schon mit implib neu erstellt und mit cof2omf umgewandelt. Aber an der Fehlermeldung ändert sich nichts.
Zum Umwandelen hab ich die dateien (implib.exe bzw cof2omf.exe) von BCB 6.0 genommen.
Mit der Lösung von www.digitalmars.de kann ich nichts anfangen, weil ich nicht rausgefunden hab womit die die daten umwandeln.Kann mir villeicht noch jemand weiter helfen??
Danke schonmal

-
Hallo
Du must im Menü Projekt/Optionen/Verzeichnisse... noch die LIB-Pfade um den Pfad erweiteren, in dem die gesuchte lib-Datei liegt.
bis bald
akari
-
Also die lib und die h datei liegen auch im projektpfad und der ist doch schon standartmäßig eingetragen. ich hab den pfad vorsichthalber jetzt nochmal absolut eingetragen, aber es kommt aufs selbe heraus.
-
War denn der Import bzw. die Umwandlung erfolgreich, sind die resultierende Lib bzw. DLL annähernd gleich gross wie das Original?
Hier findest mal eine recht ausführliche Beschreibung des grundsätzlichen Problems sowie Ansätze zur Lösung.
http://groups.google.com/group/borland.public.cppbuilder.vcl/msg/327c4ff12ce4c8fe?&hl=de
-
Also die Original dll ist 76kb groß die original lib ist 3,5kb groß nach implib ist sie nur noch 1,5 kb groß.
wenn ich die original mit coff2omf umwandel ist sie nur noch 500byte groß.und die dll direkt in BCB einbinden da bin ich nicht schlau genug für. Das geht glaub ich zu weit über meien wissensstand.
Villeicht kann ja jemand hier das auch mal testen um zu gucken ob ich was falsch mache. Die datei kann man unter http://www.jbopael.de/bpmDetectLib.ziprunter laden. Das teil soll den takt aus ner audio datei auslesen. da ist auch ein VB beispiel dabei. wär echt nett weil ich das für meine Projektarbeit in der Schule brauche.
Danke schonmal
-
Du könntest auch einfach die .PAS-Datei deinem Projekt hinzufügen, wie in der Readme für Delphi beschrieben.
-
Also ich hab jetzt auch mal versucht die pas datei einzubinden also quasi die pas und die dfm datei dem projekt hinzugefügt. Beim compilieren wurde ne hpp datei erstellt. die hab ich included hab die funktionen aus der hpp aufgerufen und bekam wieder linker fehler unresolved external.
-
Versuche doch mal, mittels IMPLIB eine Library für die DLL zu erstellen und diese einzubinden. Das hat bei mir funktioniert:
implib -c my_bpmdetect.lib bpmdetect.dll
-
das hab ich jetzt genau so gemacht. solange ich keine funktion aufrufe kommt auch keine fehlermeldung. aber sobald ich z.B. BPM_Create() aufrufe,
kommt diese Fehlermeldung:
[Linker Fehler] Unresolved external 'BPM_Create()' referenced from C:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\DETECT2\UNIT1.OBJ
ich versteh es einfach nicht.
-
hm...
kann mir denn keiner weiter helfen?? 