Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: problem s #include <sys/stat.h>  (Přečteno 4409 krát)

adam.beno

  • Návštěvník
  • Příspěvků: 24
problem s #include <sys/stat.h>
« kdy: 15 Října 2013, 04:28:42 »
Proism vas mam problem s pouzitim hlavicky #include <sys/stat.h>. V jednom projekte potrebujem zmenit aktualny adresar, no ako nahle hoci len pripojim hlavicku #include <sys/stat.h>, pri kompilacii zacne vyhazovat :
/home/adam/Desktop/minimalizaci/evolucia.h:7: In file included from ../../minimalizaci/evolucia.h:7:0,
/home/adam/Desktop/minimalizaci/main.cpp:16: from ../../minimalizaci/main.cpp:16:
/usr/include/i386-linux-gnu/sys/stat.h:-1: In function 'int stat(const char*, stat*)':
/usr/include/i386-linux-gnu/sys/stat.h:212: error: expected primary-expression before ',' token
/usr/include/i386-linux-gnu/sys/stat.h:-1: At global scope:
/usr/include/i386-linux-gnu/sys/stat.h:212: error: declaration does not declare anything [-fpermissive]
/usr/include/i386-linux-gnu/sys/stat.h:-1: In function 'int fstat(int, stat*)':
 
ukazuje chyby v knihovne stat.h atp...
 Pritom tuto istu hlavicku pouzivam aj v inom projekte tiez pragramovanom cez qt creator, no tam mi hlavicku prijme normalne a potom pracujem nastavujem vytvaram adresare lubovolne. Neviete mi poradit preco v jednom projekte mi robi prave toto? Alebo je mozne ze sa to "bije" s dalsimi nainkludovanymi hlavickami?

Dakujem za radu

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Re:problem s #include <sys/stat.h>
« Odpověď #1 kdy: 15 Října 2013, 08:24:55 »
A kdyz tu hlavicku nenaincludujes, tak si stezuje taky?
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

adam.beno

  • Návštěvník
  • Příspěvků: 24
Re:problem s #include <sys/stat.h>
« Odpověď #2 kdy: 15 Října 2013, 10:59:51 »
aano....prave to je zvlastne....mam pripraveny taky kod na vytvorenie adresaru a nastavenie do neho :
 int mkdir(const char *pathname, mode_t mode);
        mkdir("../Evolucie",0700);
        int chdir(const char *path);
        chdir("../Evolucie");

ten kod tam vobec nemusi byt pouzity(je zakomentovany) a inklud hlavicky staci na to aby program vypisal to co som nakopiroval vyssie v prispevku

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Re:problem s #include <sys/stat.h>
« Odpověď #3 kdy: 15 Října 2013, 11:18:02 »
Kdyz je ten kod zakomentovany tak proc ho tady zminujes?
Muzes sem ten zdrojak (relevantni cast) dat?

Jako je jasne ze ta hlavicka je rozbita:
Kód: [Vybrat]
/usr/include/i386-linux-gnu/sys/stat.h:-1: In function 'int stat(const char*, stat*)':, otazka je jak se ti to povedlo.
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

adam.beno

  • Návštěvník
  • Příspěvků: 24
Re:problem s #include <sys/stat.h>
« Odpověď #4 kdy: 15 Října 2013, 11:27:23 »
hm neviem ci spravne odhadnem relevantnu cast kodu, pretoze nech tu hlavicku pouzijem v ktorejkolvek inej hlavicke projektu, urobi to same... ale teda nakopirujem sem deklaraciu triedy kde chcem danu hlavicku pouzit:

#ifndef EVOLUCIA_H
#define EVOLUCIA_H
#include <vector>
#include "nr3.h"
#include "ran.h"
#include "mdeviates.h"
#include "sys/stat.h"
#include "ftor.h"
#include "griewftor.h"
#include "parabftor.h"

#include "jedinec.h"
#include "rovroz.h"
#include "normroz.h"
#include "ftor.h"
#include "algorithm"
#include "generacia.h"


class Evolucia{
 public:
    int pocetJedincov, pocetGeneraci, pocetEvolucii, rozmer;
    double sigma;
    double tau;

    Funktor *ftor;

    Evolucia(int,int,int,int,double,double,Funktor& ftor );
   

    void vyvinNonCrossEvoluciu(RovRozFunktor &, NormRozFunktor &);
    void vyvinCrossEvoluciu(RovRozFunktor & nahRR, NormRozFunktor & nahNR);
   
};
#endif // EVOLUCIA_H

Martin Šácha

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • ******
  • Příspěvků: 5153
Re:problem s #include <sys/stat.h>
« Odpověď #5 kdy: 15 Října 2013, 12:41:20 »
'#include "sys/stat.h"' ti nebude fungovat, protoze ji preprocesor hleda lokalne a ne v systemu. Spravne je to <sys/stat.h>.

Jak kompilujes? Preinstaluj balik linux-kernel-headers?
Mint MATE 64bit / DuckDuckGo.com
Programátoři považují WYSIWYG za špatné u kódu i u žen. Programátor chce "dostat to, co žádá“ – kód tajemný, neodpouštějící, nebezpečný.

adam.beno

  • Návštěvník
  • Příspěvků: 24
Re:problem s #include <sys/stat.h>
« Odpověď #6 kdy: 15 Října 2013, 13:18:51 »
jasne ja som tam omylom ponechal uvozovky...ale uplne to same robi aj s #include <sys/stat.h>, ako kompilujem? nikdy som sa o to obzvlast nezaujimal ale cez qt kreator....pouziva kompilator g++. Co konkretne myslis pod tym preinstalovat kernel ?

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:problem s #include <sys/stat.h>
« Odpověď #7 kdy: 15 Října 2013, 15:26:59 »
Tím myslí provést třeba následující (nejdříve odebrat a potom znovu nainstalovat linux headers):
Kód: [Vybrat]
sudo apt-get remove linux-headers-$(uname -r)
sudo apt-get install linux-headers-$(uname -r)
Jsou to hlavičkové soubory pro jádro.
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

adam.beno

  • Návštěvník
  • Příspěvků: 24
Re:problem s #include <sys/stat.h>
« Odpověď #8 kdy: 28 Října 2013, 15:41:40 »
skusil som ale bohuzial nepomohlo....ono problem bude zrejme niekde v programe...pretoze ako vravim nefunguje to len v jednom konkretnom projekte ktory pozuiva tu hlavicku v subore mimo main... pokial to pozuijem v main vsetko ide v pohode

 

Provoz zaštiťuje spolek OpenAlt.