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: NetBeans 6.9.1 C/C++ nefunkční include  (Přečteno 2900 krát)

Amrachet

  • Návštěvník
  • *
  • Příspěvků: 19
    • Zobrazit profil
NetBeans 6.9.1 C/C++ nefunkční include
« kdy: 14 Října 2010, 13:38:31 »
Zdravím,
nainstaloval jsem si poslední verzi NetBeans 6.9.1 pod Ubuntu 10.04 (Gnome) ve verzi s podporou C/C++, podařilo se mi přidat i kompilátor pro C++ a zprovoznit ho, ale vyvstal problém s funkcí include. Respektive jde o to, že NetBeans nemůžou najít knihovny, které se v základu includují do C++ programu.

Věci jako
Kód: [Vybrat]
#include <string.h>
#include <cstdlib>
mi hlásí chybu.

Potřeboval bych poradit, jak knihovny nainstalovat, případně zprovoznit.  ???

Martin - ViPEr*CZ*

Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #1 kdy: 14 Října 2010, 15:49:49 »
Máte nainstalováno build-essential ???
Popřípadě každé IDE má nastavení include dir (bohužel každé jinde). Nevím jak je na tom konkrétně Netbeans (přestal jsem používat už dávno, neboť tento editor je děsně pomalý), to budete muset hledat (vyplatí se si to celé prolézt, aby jste znal možnosti).
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Amrachet

  • Návštěvník
  • *
  • Příspěvků: 19
    • Zobrazit profil
Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #2 kdy: 14 Října 2010, 16:35:29 »
build-essential jsem nainstaloval. (Tedy to co jsem pod tímto názvem našel v Synaptic). Ale žádná změna. Podle všeho ty NetBeans neumí prostě najít ty klasické C/C++ knihovny, co importuji, ale vůbec netuším co s tím, pokoušel jsem se aji nainstalovat nějaký balík základních knihoven C++, ale taky nepomohlo.

Martin - ViPEr*CZ*

Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #3 kdy: 14 Října 2010, 19:59:06 »
Přes build-essential jste si nainstaloval tuším STL a kompilátory potřebné.... netbeans nejspíš neumí vyčíst default adresu odkud se STL includuje. Ale každej IDE jak jsem psal umí do standardní cesty přidat i vlastní nadefinované... takže hledat, kde se to konkrétně v netbeans dělá.

PS: při klasickém překladu v konzoli třeba s naimportovanou iostream to funguje?
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Crix

  • Návštěvník
  • *
  • Příspěvků: 2
    • Zobrazit profil
Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #4 kdy: 07 Listopadu 2010, 21:07:08 »
Měl jsem stejný problém, šlo o to, že jsem otevíral projekt, který jsem vytvořil ve windows. NetBeans nevěděly, odkud mají knihovny, zahrnuté v include, brát. Zkusil jsem vytvořit nový projekt v ubuntu, do něj jsem prostě zkopíroval kód z toho starého a voilá, všechno fungovalo na jedničku  :)

petergula

  • Závislák
  • ****
  • Příspěvků: 1016
    • Zobrazit profil
Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #5 kdy: 08 Listopadu 2010, 02:16:06 »
CPP - je preprocessor a tym padom vsetko nizsie o nom je blud, vdaka za upornenie to MacHala 
No ako som pozeral tak cstdlib je c++ kniznica. Skusil som nasledovny pokus v terminaly:
1. vytvoril som hello.c
Kód: [Vybrat]
#include <string.h>
#include <stdio.h>

int main() {
        printf("Hello, World!");
}


skusil som kompilovat:
Kód: [Vybrat]
gcc hello.c -o hello
cpp hello.c -o hello

islo, tak som pridal include na cpp kniznicu:
Kód: [Vybrat]
#include <cstdlib>
Kód: [Vybrat]
hello.c:2:19: error: cstdlib: No such file or directory
premenoval som na hello.cpp:
Kód: [Vybrat]
gula@gula-laptop:~$ gcc hello.cpp -o hello2
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
gula@gula-laptop:~$ cpp hello.cpp -o hello2
cpp: error trying to exec 'cc1plus': execvp: No such file or directory
teda chyba, ktoru som musel odstranit priinstalovanim g++:

Kód: [Vybrat]
gula@gula-laptop:~$ sudo apt-get install g++
[sudo] password for gula:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libaccess-bridge-java libaccess-bridge-java-jni ca-certificates-java
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  g++-4.4 libstdc++6-4.4-dev
Suggested packages:
  g++-multilib g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg libstdc++6-4.4-doc
The following NEW packages will be installed:
  g++ g++-4.4 libstdc++6-4.4-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 7,280kB of archives.
After this operation, 23.6MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://sk.archive.ubuntu.com/ubuntu/ lucid/main libstdc++6-4.4-dev 4.4.3-4ubuntu5 [1,522kB]
Get:2 http://sk.archive.ubuntu.com/ubuntu/ lucid/main g++-4.4 4.4.3-4ubuntu5 [5,756kB]
Get:3 http://sk.archive.ubuntu.com/ubuntu/ lucid/main g++ 4:4.4.3-1ubuntu1 [1,450B]
Fetched 7,280kB in 1s (3,752kB/s)
Selecting previously deselected package libstdc++6-4.4-dev.
(Reading database ... 250747 files and directories currently installed.)
Unpacking libstdc++6-4.4-dev (from .../libstdc++6-4.4-dev_4.4.3-4ubuntu5_amd64.deb) ...
Selecting previously deselected package g++-4.4.
Unpacking g++-4.4 (from .../g++-4.4_4.4.3-4ubuntu5_amd64.deb) ...
Selecting previously deselected package g++.
Unpacking g++ (from .../g++_4%3a4.4.3-1ubuntu1_amd64.deb) ...
Processing triggers for man-db ...
Setting up libstdc++6-4.4-dev (4.4.3-4ubuntu5) ...
Setting up g++-4.4 (4.4.3-4ubuntu5) ...
Setting up g++ (4:4.4.3-1ubuntu1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode.

 a kompilacia presla ok:
Kód: [Vybrat]
cpp hello.cpp -o hello2
pre gcc vsak chyba ostala, kedze gcc nie je kompilator c++ defaultne:
Kód: [Vybrat]
gula@gula-laptop:~$ gcc hello.cpp -o hello2
/tmp/ccQ9V7YH.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
gula@gula-laptop:~$ gcc -Wall -c hello.cpp -o hello2
gula@gula-laptop:~$
Takze gcc nedetekuje, ze sa jedna o c++. Nutne pouzit g++/cpp alebo prepinac -c pre gcc.
« Poslední změna: 08 Listopadu 2010, 17:23:59 od petergula »
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

petergula

  • Závislák
  • ****
  • Příspěvků: 1016
    • Zobrazit profil
« Poslední změna: 08 Listopadu 2010, 02:22:42 od petergula »
ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

MacHala

  • Závislák
  • ****
  • Příspěvků: 1104
  • Big Bro iz watching joo!
    • Zobrazit profil
    • ZlejT
Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #7 kdy: 08 Listopadu 2010, 16:54:29 »
@petergula:
imho to Amrachet uz vyresil, kazdopadne ho to uz asi nezajima...
btw, mas v tom docela zmatek

cpp je preprocesor (predzvejkavac zdrojaku, nic nekompiluje - v
Kód: [Vybrat]
gcc hello.c -o hello
cpp hello.c -o hello
si premazes zkompilovanou binarku kodem s vlozenym obsahem hlavicek apod - obycejny textak samozrejme nepujde spustit)

gcc urcuje defaulnte jazyk podle pripony zdrojaku pro C je to pouze *.c , pro C++ napr. *.cpp , *.cc , *.c++ , *.C
Prislusnik ligy, za kreativni pouzivani interpunkcnich znamenek, carek, predevsim.
=======================================
Tweetuju jako http://twitter.com/zl8

petergula

  • Závislák
  • ****
  • Příspěvků: 1016
    • Zobrazit profil
Re: NetBeans 6.9.1 C/C++ nefunkční include
« Odpověď #8 kdy: 08 Listopadu 2010, 17:20:34 »
@petergula:
imho to Amrachet uz vyresil, kazdopadne ho to uz asi nezajima...
Hmm zvlastne, zdalo sa mi, ze ziadal o radu a nenapisal, ze by to uz vyriesil.

btw, mas v tom docela zmatek
Jasne, ved skolu som absolvoval davnejsie a tomuto som venoval tak minimum casu, len aby nieco vypadlo, coho by sa chytil.

cpp je preprocesor (predzvejkavac zdrojaku, nic nekompiluje - v
Kód: [Vybrat]
gcc hello.c -o hello
cpp hello.c -o hello
si premazes zkompilovanou binarku kodem s vlozenym obsahem hlavicek apod - obycejny textak samozrejme nepujde spustit)

gcc urcuje defaulnte jazyk podle pripony zdrojaku pro C je to pouze *.c , pro C++ napr. *.cpp , *.cc , *.c++ , *.C
ad cpp: ano moja chyba je to preprocessor, toto som vazne pohnojil, ale v podstate som ho pouzil aspon na odhalenie nejakych chyb. kod bol mysleny tak, ze cpp a gcc robia to iste.
ad prepisovanie: ano stale som zapisoval do toho isteho suboru hello a hello2 z lenivosti (vlastne to bol umysel, lebo som ocakaval, ze vystup z cpp a gcc je totozny uz prelozeny spustitelny kod)
ad gcc: vcera som to spustal a gcc podla pripony u mna nic nenastavil a hlasil chybu, takze ho bolo nutne postuchnut ako som napisal, ale je mozne, ze to bolo v hlbokej noci a mne sa nieco snivalo.

Myslim, ze moj prispevok je teda dost zmetocny a asi by som ho mal zmazat?, alebo ho necham a mudri ludia si precitaju cele vlakno a vyberu si to co tam je pravda:
- ako som odstranil chyby co pri mojom badani vznikli
- ako som ukazal ze je rozdiel medzi c/c++
- ze v noci sa nema pisat nic mudre :)

ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

 


Provoz zaštiťuje spolek OpenAlt.