Toon posts:

GCC compiler probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb cygwin met ingebouwde gcc compiler (3.4.4) geinstalleerd om mijn C++ project te compileren.
De code staat in de directory /source/ waar ook main.cpp staat.
Bij het compileren krijg ik steeds volgende foutmelding:

$ gcc main.cpp
In file included from main.cpp:60:
ModEmbCpp/DebugLog/source/DebugLog.hpp:37:25: debugdefs.hpp: No such file or dir
ectory

ModEmbCpp/DebugLog/source/DebugLog.hpp:38:57: ModEmbCpp/DebugLog/source/DebugLog
Classes.hpp: No such file or directory

In DebugLog.hpp staat op regel 37:

#include "debugdefs.hpp"

En dit bestand staat nochtans in directory /source/
We hebben dit probleem proberen op te lossen door de directory toe te voegen aan PATH. Zonder succes

Iemand een idee wat we vergeten zijn?

  • thunder7
  • Registratie: Januari 2003
  • Laatst online: 11:02

thunder7

houten vaas/schaal nodig?

Cygwin betekent dat er vertaalt worden tussen unix eigenaars en rechten en windows NT eigenaars en rechten. Als beheerder op een cygwin-cluster-met-SAN-storage weet ik dat dat heel veel ellende op kan leveren. Als die file er staat, kan hij dan ook gelezen worden?

Verder zou je eens kunnen spelen met -I , wat bij gcc volgens mij een include directory keihard opgeeft.

Succes,
Jurriaan

hout-nerd - www.hetmooistehout.nl of www.houtenschalen.nl


  • sam.vimes
  • Registratie: Januari 2007
  • Laatst online: 07-01 22:10
In de file ModEmbCpp/DebugLog/source/DebugLog.hpp staat
C:
1
#include "debugdefs.hpp"

(let op de dubbele quotes) en dan zoekt de compiler (eigenlijk: de preprocessor) eerst in de directory waar de sourcefile staat die het include-statement bevat; vervolgens in de directory's die met de optie -I (hoofdletter i) aan de compiler zijn meegegeven en daarna nog in een aantal systeem-afhankelijke directory's zoals /usr/include. (Als je, in plaats van dubbele quotes, vishaken <> gebruikt:
C:
1
#include <debugdefs.hpp>

wordt die eerste directory overgeslagen.)

De sourcefile met het include-statement staat in ModEmbCpp/DebugLog/source en uit jouw post maak ik op dat dat een andere directory is dan waar debugdefs.hpp staat, dat is namelijk '.' (de current directory waar het commando gcc wordt gegeven).

Overigens: de C++-compiler heet "g++", niet "gcc" (dat is de C-compiler), maar dat terzijde.

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Misschien een heel simpele vraag: houd je er rekening mee dat de bestandsnamen case-sensitive zijn ?
(Tenminste, ik neem aan dat onder cygwin dit het geval is)

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Topicstarter
Hallo,

Bedankt voor jullie reactie.

Het probleem lag bij het porteren van de compiler naar windows, wat een hoop misserie met zich meebracht. Bepaalde directories die niet compileren, symbolische links die niet lukken enz...

Wat we nu doen is op windows de code maken en met ssh de compilatie starten op een linux server