netbeans c\c++

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
kapat
Sędziwy Jeż
Sędziwy Jeż
Posty: 62
Rejestracja: 09 mar 2008, 21:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

netbeans c\c++

Post autor: kapat »

Witam!!

Zaistalowałem sobie netbeans 6.5.1 w wersji dla c\c++ sam program dziala, aczkolwiek nie potrafi zlokalizowac bibliotek:

poniezej przykładowy kod jakiegos programu działajacego pod winda w :)

Kod: Zaznacz cały

/* 
 * File:   glowny.cpp
 * Author: kapacik
 *
 * Created on 24 kwiecień 2009, 22:08
 */

#include <iostream>

using namespace std;

int main()
{
    cout >> "Podaj imie : ";
    getch();
}
       
przy próbie kompilacji otrzymuje:

Kod: Zaznacz cały

Running "/usr/bin/make  -f Makefile CONF=Debug" in /home/kapacik/NetBeansProjects/Application_1

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/kapacik/NetBeansProjects/Application_1'
/usr/bin/make  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/application_1
make[2]: Entering directory `/home/kapacik/NetBeansProjects/Application_1'
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/glowny.o.d
gcc    -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/glowny.o.d -o build/Debug/GNU-Linux-x86/glowny.o glowny.cpp
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
make[2]: *** [build/Debug/GNU-Linux-x86/glowny.o] Error 1
make[2]: Leaving directory `/home/kapacik/NetBeansProjects/Application_1'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/home/kapacik/NetBeansProjects/Application_1'
make: *** [.build-impl] Error 2

Build failed. Exit value 2.

Probowałem podac scieszki do bibliotek gcc ale niestety nic nie pomaga....


Jakies pomysly?

moj system to Ubuntu 9.04 NetBeans 6.5.1
Awatar użytkownika
Nadril
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 171
Rejestracja: 11 lip 2008, 10:54
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: netbeans c\c++

Post autor: Nadril »

na prawde działa Ci pod windowsem? :> po cout powinno być "<<", bo ten właśnie operator jest przeładowany.
A co do bibliotek to, też się przydadzą, moża skorzystać na przykład z tych: http://joeamined.wordpress.com/2007/11/ ... -in-linux/
Awatar użytkownika
kapat
Sędziwy Jeż
Sędziwy Jeż
Posty: 62
Rejestracja: 09 mar 2008, 21:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: netbeans c\c++

Post autor: kapat »

zgodze sie z toba tu zle zrobilem operatotor.... ale i tak bibliotek mi nie dołacza podczas kompilacji
Awatar użytkownika
Nadril
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 171
Rejestracja: 11 lip 2008, 10:54
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: netbeans c\c++

Post autor: Nadril »

a dodałeś wszystkie polecane w linku ścieżki?
Awatar użytkownika
raz
Piegowaty Guziec
Piegowaty Guziec
Posty: 23
Rejestracja: 30 sty 2008, 22:42
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: netbeans c\c++

Post autor: raz »

getch();
To nie jest czasem z biblioteki conio.h, która działa tylko pod windowsem?
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: netbeans c\c++

Post autor: Hauleth »

A nie wybrałeś przypadkiem projektu C, bo do C++ jest kompilator g++, a tu widzę gcc ( do czystego C ).
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
Awatar użytkownika
Nadril
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 171
Rejestracja: 11 lip 2008, 10:54
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: netbeans c\c++

Post autor: Nadril »

Hauleth pisze:A nie wybrałeś przypadkiem projektu C, bo do C++ jest kompilator g++, a tu widzę gcc ( do czystego C ).
ogólnie masz rację, ale akurat tu nie będzie grało to roli, bo jest kompilowane z parametrem -c który wyłącza linkowanie. Czyli w efekcie dostajemy plik z rozszerzeniem .o dla każdego pliku źródłowego.
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: netbeans c\c++

Post autor: Hauleth »

Ale to i tak powinno się wszystko wy******* bo w C nie ma klas.
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
Awatar użytkownika
Nadril
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 171
Rejestracja: 11 lip 2008, 10:54
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: netbeans c\c++

Post autor: Nadril »

ale w tym kodzie nie było nigdzie tego słowa kluczowego
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: netbeans c\c++

Post autor: Hauleth »

ale w iostream są zawarte klasy
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
Awatar użytkownika
Nadril
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 171
Rejestracja: 11 lip 2008, 10:54
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: netbeans c\c++

Post autor: Nadril »

ale tym co jest w sekcji include zajmuje się dopiero linker.
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: netbeans c\c++

Post autor: Hauleth »

include to dyrektywa preprocesora, która wstawia zawartość podanego pliku we wskazane miejsce, czyli ten prosty program dla kompilatora ma już parę tysięcy linii. Linker zajmuje się tylko dołączaniem bibliotek ( czytaj *.so oraz *a w których są spakowane binarki bibliotek, odpowiednik W$ *.dll ) oraz złączaniem plików *.o stworzonych przez kompilator.
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
Awatar użytkownika
Nadril
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 171
Rejestracja: 11 lip 2008, 10:54
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: netbeans c\c++

Post autor: Nadril »

tak, include to dyrektywa preprocesora.

ale spróbuj skompilować ten kod przez gcc z opcją -c, a zobaczysz, że nie wyrzuci błędów.
Dlaczego?

ano:
za Davem Marshallem (http://www.cs.cf.ac.uk/Dave/C/node35.html):
We can use the C compiler option -c to create a .o for a given module. For example:

cc -c main.c

will create a main.o file. We do not need to supply any library links here as these are resolved at the linking stage of compilation.
albo jeśli jesteś fanem wikipedii:
Executables and libraries make references known as links to each other through the process known as linking, which is typically done by a linker.
ale swoją drogą kod który korzysta z klas też można skompilować przez gcc, tylko z opcją -c, czemu zadziała?

edit: już wiem czemu:
A point that sometimes causes confusion is that gcc will actually compile C++ source code when it detects a C++ file extension, but cannot then link the resulting object files.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości