Zum Inhalt springen

Erstellen einer .dll aus .c-Dateien


Varrius

Empfohlene Beiträge

hi,

ich habe grad das problem, dass ich eine .dll erstellen soll, allerdings aus .c-dateien, leider hab ich im forum nix dazu gefunden.

wir arbeiten eigentlich hauptsächlich mit unix, aus diesem grund haben wir aus den .c-dateien eine shared librarie (.so) gemacht, allerdings arbeitet auch ein kleiner teil unter windows. für diese leute benötigen wir nun eine .dll. ist es möglich aus der .so eine .dll zu machen oder muss das neu kompiliert werden?

wenn ja, wie? ;)

wir benutzen dev-cpp und ich weiss nicht wie man aus knapp 30 dateien eine solche .dll macht

danke

Varrius

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi,

Ist es möglich aus der .so eine .dll zu machen oder muss das neu kompiliert werden?

Varrius

Also aus einem Unix-Kompilat eine unter Windows lauffähige dll zu machen ist sicher nicht möglich.

Dev-Cpp kenne ich nicht gut, aber meines Wissens, kannst du dort ein dll-Projekt anlegen, dass im Ergebnis eine DLL erstellt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

das erstellen funktioniert leider nicht so einfach :(

gibt es die möglichkeit mit gcc eine dll zu erstellen? wenn ja mit welchem befehl

oder benötigt man cygwin dazu?

das grösste problem ist, das VS .Net die dateien als cpp behandelt und deswegen viele fehlermeldungen raushaut, die keine sind ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich sag einfach mal wie ich es mache ;)

1. neues projekt -> Visual C# Projekte -> keine dll projekte

->Visual C++ Projekte -> MFC dll

ich weiss nicht ob das schon falsch is

2. settings bleiben voreinstellung

3. hinzufügen der c-dateien zum projekt

4. build ausführen -> fatal error C1010: unexpected end of file while looking for precompiled header directive -> precompiler ausgeschalten

5. nochmal build -> hier nun viele fehlermeldungen (40)

zu den fehlermeldung:

sie sollten nicht auftauchen, da ich aus genau diesen dateien schon eine .so datei erstellt habe und die läuft problemlos

error C2143: syntax error : missing ')' before 'string' -> MODULE("SCANNER")

error C2065: 'white_characters' : undeclared identifier ->

skip_local_string = white_characters; ein wenig weiter oben steht -> static char *white_characters = " \t\n\r";

ich könnt hier noch viele andere meldungen schreiben, aber das wär glaub ich nicht sehr sinnvoll ;)

ist es möglich mit gcc-befehlen eine dll zu erstellen? da ich die dateien aus ihren ursprünglichen verzeichnisse rauskopieren musste, weil VS kein zugriff auf die alte stelle hatte

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich sag einfach mal wie ich es mache ;)

1. neues projekt -> Visual C# Projekte -> keine dll projekte

Was willst du mit C#?

->Visual C++ Projekte -> MFC dll

ich weiss nicht ob das schon falsch is

Ist falsch. Visual C++ Projekte -> Win32 Projekt, dann bei Application Settings -> DLL.

zu den fehlermeldung:

sie sollten nicht auftauchen, da ich aus genau diesen dateien schon eine .so datei erstellt habe und die läuft problemlos

Das liegt aber mit Sicherheit nicht daran, dass MSVC die c-Dateien als C++ kompiliert. Probier es bitte zuerst mal mit den richtigen Projekteinstellungen aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hab das nun mal mit Win32 Projekt dll gemacht, trotzdem kommen massig fehlermeldungen, die selben wie vorher:

error C2065: 'BOOL' : undeclared identifier -> wird in einer headerdatei deklariert die included ist

dies hat viele folgefehler

error C2065: 'old_cmd_position' : undeclared identifier-> wird auch weiter oben deklariert

fast alle error meldungen sind von dieser art

tut mir ja leid das ich damit ein wenig nerve

Link zu diesem Kommentar
Auf anderen Seiten teilen

das mit dem code geht leider nicht :(

wär auch ein wenig zuviel

es wurde schonmal vor 2-3 jahren eine dll erstellt, welche ich nun durch eine erneuerte ersetzen soll

es dürfte also nicht unix spezifisch sein, da die "schlechte" doku dazu keine angaben macht, bin ich mir aber auch nicht sicher ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

h:\Source\scanner.c(1163): error C2065: 'BOOL' : undeclared identifier

das is die erste, obwohl BOOL in einer include datei definiert wird

von gcc befehlen hast du nicht zufällig auch ahnung oder?

da wir ein script unter unix haben zum erstellen der .so datei

ich versuche gerade das so umzupacken das ne dll draus wird (mit mingw ja möglich)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...