C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten

Diskutiere C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten im Programmierung Forum im Bereich Software Forum; Liebe Leute, ich hab ein sehr merkwürdiges Problem und hoffe ihr könnt mir weiterhelfen... Folgendes: Ich hab den C-Source Code einer...
B

buggybunny

Threadstarter
Mitglied seit
27.10.2006
Beiträge
30
Liebe Leute,

ich hab ein sehr merkwürdiges Problem und hoffe ihr könnt mir weiterhelfen...

Folgendes:

Ich hab den C-Source Code einer Applikation den ich kompilieren möchte.

Das klappt auch unter:

- Linux (verschiedene Distros, verschiedene gcc-Versionen) durch ein simples make
- Win XP SP 2 mit dem Visual Studio (die Entwickler haben das unter VS programmiert) durch simples Laden der Projekt-Datei und dann auf Build klicken

In beiden Fällen kommt ein ablauffähiges executable raus.

Nun will ich das Projekt

1. unter Windows
2. ohne IDE kompilieren

Ein make-file für das Projekt ist vorhanden, soll laut Entwicklern unter Linux und Windows ein executable erzeugen und tut das unter Linux auch.

Was ich nun getan hab:

- MingW installiert
- Das bin-Verzeichnis von MingW zum Pfad hinzufügt
- MSys installiert in ein Unterverzeichnis von MingW
- Das bin-Verzeichnis von MSys zum Pfad hinzufügt
- cmd geöffnet, ins source-directory gewechselt und dort
Code:
mingw32-make
ausgeführt.

Dies bricht mit folgendem Fehler ab:

Code:
utils.c:11:22: sys/poll.h: No such file or directory
utils.c:12:24 sys/socket.h: No such file or directory
Diese beiden header-Files befinden sich jedoch NUR unterhalb einer zufällig vorhandenen cygwin-Installation, nicht jedoch in Windows-Systemverzeichnissen.

Erster Versuch eines Workarounds:

- Das include-Verzeichnis als auch das include/sys –Verzeichnis von Cygwin in den Path aufnehmen.

Ergebnis: Das Gleiche wie oben.


Zweiter Versuch eines Workarounds:

- Die entsprechende include-Zeile in utils.c auskommentieren und ersetzen durch den absoluten Pfad zum Cygwin-include Verzeichnis also statt:

Code:
#include <sys/poll.h>
Code:
#include "C:/cygwin/usr/include/sys/poll.h"
Ergebnis: Folgefehler in poll.h, dieses includet andere header-files, die nicht gefunden werden, also z.B. Fehler wie:

Code:
C:/cygwin/usr/include/sys/poll.h:14:23: sys/cdefs.h: No such file or directory in file included from utils.c:10
Damit ergeben sich 4 wichtige Fragen:

1. : Wie konnte das Projekt von Visual Studio kompiliert werden, wenn das Projekt header-files benötigt, die nicht vorhanden sind? Das Cygwin auf dem System ist war ja reiner Zufall.

2. Warum befinden sich socket.h und poll.h bei der Cygwin-Installation aber nicht nativ auf dem Windowssystem?

3. Das include-Verzeichnis von Cygwin ist im Pfad drin, warum findet dann das System die Header-Datei nicht? Das System sucht offensichtlich in falschem Verzeichnis, und findet diesen Header nicht, aber warum durchsucht es dann nicht die anderen Verzeichnisse im Pfad?

4. Was kann ich tun?

Meine Vermutung:

Die Entwickler haben gelogen als sie gesagt haben, das das Makefile auch unter Windows seinen Dienst tut.


Danke für alle Tips!
 
Zuletzt bearbeitet:
msueper

msueper

Mitglied seit
20.01.2005
Beiträge
1.634
Hallo,
alle gängigen IDEs haben doch eigene Compiler und damit auch eigene Headerfiles. VS wird wohl auch welche haben. In den seltensten Fälle sollte ein Makefile so portbale sein können. Wenn überhaupt, würde ich es dann mit dem gcc von cygwin probieren. Mingw ist doch bloss eine ganz kleiner "Anteil" von cygwin.
Martin
 
Thema:

C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten

C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten - Ähnliche Themen

  • Microsoft stellt Dual-Screen Tablet Surface Neo vor - Projekt Andromeda ohne Telefonfunktion?

    Microsoft stellt Dual-Screen Tablet Surface Neo vor - Projekt Andromeda ohne Telefonfunktion?: Von Projekt Andromeda haben sich doch nicht wenige ein Microsoft Surface Smartphone erhofft und auch wenn man das nun irgendwie bekommen hat ist...
  • Video-Editor Projekt kann nicht mehr geöffnet werden

    Video-Editor Projekt kann nicht mehr geöffnet werden: Hallo, mit dem Video-Editor haben wir 2 Video Projekte angelegt, die nun nicht mehr geöffnet werden können. Folgende Nachricht öffnet sich...
  • Projekt erneut öffnen

    Projekt erneut öffnen: Sehr geehrte Damen und Herren, ich hab mit meinem Windows 10 und der Foto App ein Videoprojekt gemacht. Nun wollte ich es weiter bearbeiten und...
  • [DE/AT] Linux-Projekte in München und Wien: Der Stand der Dinge

    [DE/AT] Linux-Projekte in München und Wien: Der Stand der Dinge: Limux und Wienux: Die beiden Großstädte München und Wien schneidern sich die Debian-Distribution zurecht. Die Migration der Daten aus Office von...
  • Neues Projekt, Linux-Board.org

    Neues Projekt, Linux-Board.org: Hallo Leute, STPE und ich werden ein neues Projekt aufbauen und zwar im ähnlichen Style wie WinBoard, nur eben für Linux. Wer hätte Interesse...
  • Ähnliche Themen

    Oben