C Dateien als Bibliothek einbinden

Alles rund um die Programmierung mit Qt
Antworten
kannaum
Beiträge: 73
Registriert: 31. Januar 2010 09:57

C Dateien als Bibliothek einbinden

Beitrag von kannaum »

Hallo!

Für mein derzeitiges Projekt möchte ich ein kleines C-Package (bestehend aus einer Header und einer .c-Datei) in mein QT Projekt einbinden.
Ich habe zuerst versucht die Dateien ganz normal über den QT Creator zum Projekt hinzuzfügen. Leider hat dies zu vielen Fehlermeldungen geführt, wahrscheinlich deshalb, weil bei diesem Package C-Libraries eingebunden wurden (z.B. stdio.h) und ich dieselben in meinem Projekt auch schon im C++-Stil eingebunden habe (z.B. cstdio). Notdürftig habe ich versucht im C-Package die includes auf C++ zu ändern, was wohl ein paar Fehler beseitigt hat, aber leider nicht alle.

Was wäre denn die übliche Variante eine solche .h und .c Datei in ein QT-Projekt einzubinden?

Am liebsten würde ich natürlich diese Dateien unverändert lassen. Ich habe mich schon damit gespielt, daraus mit QT eine Library zu bauen und dann diese einzubinden. Leider hat aber auch das nicht geklappt. Bis jetzt habe ich nämlich auch noch nie mit solchen externen Packages (insbesondere C) zu tun gehabt, deshalb helfen auch die Antworten, die ich in anderen Foren zu ähnlichen Themen gefunden habe, nicht wirklich weiter.

Hat jemand eine Idee, was man da am besten versuchen sollte?

Vielen Dank!

Liebe Grüße!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: C Dateien als Bibliothek einbinden

Beitrag von Christian81 »

C und C++ kann man problemlos mischen und man kann auch C-Header in einer C++ - Source includieren. Da C etwas älter als C++ ist kann es natürlich sein dass der C-Code einige Warnungen/Fehlermeldungen ausgibt wenn man ihn als C++ - Code compiliert. Da gibts entweder die Möglichkeit diese zu korrigieren oder es als C-Code zu kompilieren. Wenn man qmake oder cmake benutzt und die C-Datei angibt wird der Code normalerweise immer auch nur als C-Code kompiliert. Wird an der Endung festgemacht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten