THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Προγραμματισμός (C, VB, Delphi, PHP, ASP...) => Topic started by: Aurelius on December 12, 2006, 14:33:14 pm



Title: C++ στο Linux
Post by: Aurelius on December 12, 2006, 14:33:14 pm
Μηπως γνωριζετε καποια suite, ενα studio για c++ στο linux; Εχετε κατι υποψη σας. Εψαξα λιγο, σαν να ειδα για Borland Developer Studio 2005, αλλα δεν ειμαι σιγουρος γιατι η κωδικοποιηση ηταν αθλια(κατι με Ιαπωνια ειχε να κανει).


Title: Re: C++ στο Linux
Post by: elmaya on December 12, 2006, 15:52:38 pm
http://www.kdevelop.org/ (http://www.kdevelop.org/)


Title: Re: C++ στο Linux
Post by: madmetal on December 13, 2006, 00:19:17 am
http://anjuta.sourceforge.net/


Title: Re: C++ στο Linux
Post by: Aurelius on December 13, 2006, 01:32:15 am
Ποιο ειναι καλυτερο, αν γινεται να πεις κατι τετοιο ετσι απλα; Το eclipse ή το anjuta;


Title: Απ: C++ στο Linux
Post by: Zarathoustra on December 13, 2006, 13:16:27 pm
Το eclipse δεν το ανέφερε κανείς.Πράγματι όμως διαθέτει το CDT(C Devevlopement Tolling) που επιτρέπει την άνπτυξη εφαρμογών C/C++ με compilers της gnu.

Το kdevelop είναι το πιο πλήρες.Και αν θέλεις να χρησιμοποιήσεις το QT και το API του KDE είναι μάλλον η καλύτερη επολογή(Υπάρχει και visual designer)


Title: Re: C++ στο Linux
Post by: Verminoz on December 13, 2006, 19:05:04 pm
Το kdevelop είναι πολύ καλό αλλά ελαφρώς χαοτικό! Σίγουρα το καλύτερο στον χώρο του αλλά θέλει ψάξιμο! Προτιμώ το Anjuta. Κάπως πιο απλό όταν οι εφαρμογές σου δεν έχουν τρελλές απαιτήσεις...


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 12:19:32 pm
Γεια σας,
ξεκινησα να χρησιμοποιώ το kdevelop για εφαρμογές σε C. Κάνοντας include τη βιβλιοθήκη math.h θέλω να χρησιμοποίσηω τη συνάρτηση sqrt. Όμως μου βγάζει το εξής μήνυμα  undefined reference to `sqrt'
Ξέρει κανείς τη λύση γιατί λύση ακόμη από το internet δεν έβγαλα...


Title: Re: C++ στο Linux
Post by: Καμένος on March 14, 2008, 12:45:29 pm
Πόσταρε λίγο τον κώδικά σου


Title: Re: C++ στο Linux
Post by: Aurelius on March 14, 2008, 13:36:25 pm
Εμενα παντως τρεχει.

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>
#include <math.h>

using namespace std;

int main(int argc, char *argv[])
{
  cout<<sqrt(10)<<endl;

  return EXIT_SUCCESS;
}

Εχεις εγκαταστησει ολα οσα χρειαζεται για να γινεται compile?

Δηλαδη, gcc, automake, autoconf, libtool ?


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 16:26:27 pm
Εχεις εγκαταστησει ολα οσα χρειαζεται για να γινεται compile?
Δηλαδη, gcc, automake, autoconf, libtool ?
Τελικά έλειπε απλά το libtool. Ευχαριστώ πολυ.. :)


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 16:46:18 pm
Τελικά το πρόβλημα δε λύθηκε >:(. Το πρόβλημα υπάρχει όταν η sqrt παίρνει σαν όρισμα μεταβλητή...Όταν βάζω να υπολογίσει ρίζα αριθμού δεν υπάρχει πρόβλημα. Καμία ιδέα;;
Θα προσπαθήσω αργότερα να ποστάρω και τον κώδικα.


Title: Re: C++ στο Linux
Post by: Aurelius on March 14, 2008, 16:49:57 pm
Ποσταρε το αν γινεται. Εγω βαζω μεταβλητη και μου το βγαζει κανονικα.


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 17:02:12 pm
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int e;
float a,b,c,d;
void main(){   
   scanf("%f",&a);
   scanf("%f",&b);
   c=a+b;
   printf("%f\n",c);
   scanf("%d",&e);
   d=sqrt(100);   
   printf("%f",d);}

Λοιπόν έφτιαξα αυτόν τον απλό κώδικα για τεστάρισμα... Σ'αυτη του τη μορφή τρέχει κανονικά.
Αν αντικαταστήσω το 100 με κάποια μεταβλητή πχ την e μου βγάζει το συγκεκριμένο μήνυμα σφάλματος


Title: Re: C++ στο Linux
Post by: Aurelius on March 14, 2008, 17:14:36 pm
Σιγουρα αυτος ειναι ο κωδικας σου? Μηπως ειναι αυτος?

int main(){   
   int e;
   float a,b,c,d;
   scanf("%f",&a);
   scanf("%f",&b);
   c=a+b;
   printf("%f\n",c);
   scanf("%d",&e);
   d=sqrt(a);   
   printf("%f",d);
   return 1;

}

Εαν οντως ειναι αυτος που ποσταρες και οχι αυτος που ποσταρα, τοτε απλα οριζες τις μεταβλητες εξω απο την συναρτηση σου, την main δηλαδη. Ισως για αυτο σου εβγαλε προβλημα. Οταν τις οριζεις απεξω ειναι global και δεν τις δινεις τιμες τοπικα μεσα στην συναρτηση.

Παντως γιατι δεν χρησιμοποιεις τις cin, cout για εισοδο?


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 18:03:55 pm
Εσένα τον κώδικα που πόσταρες στον τρέχει κανονικά;;;; Εμένα πάντως όχι. Γιατί να είναι πρόβλημα οι global μεταβλητές ρε συ;
Παντως γιατι δεν χρησιμοποιεις τις cin, cout για εισοδο?

Έτσι μου έμαθε ο Κορτέσης και δεν αλλάζω ;D :P


Title: Re: C++ στο Linux
Post by: Aurelius on March 14, 2008, 18:16:15 pm
Δεν ειπα οτι ειναι προβλημα :P. Ειπα οτι μπορει να ειναι προβλημα. Θεωρητικα ουτε αυτο που ποσταρες επρεπε να σου βγαζει σφαλμα. Εμενα μου τρεχει κανονικα.


Title: Re: C++ στο Linux
Post by: marauber on March 14, 2008, 18:19:40 pm
Οfftopic, αλλά καλό είναι να απαλλαγείς από τα παλαιολιθικά απομεινάρια του παρελθόντος scanf και printf. Εξακολουθούν να υπάρχουν για λόγους συμβατότητας, αλλά απορώ γιατί διδάσκονται ακόμη :???:.


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 18:27:58 pm
Οι cin και cout νομίζω ότι δεν έιναι συμβατές με τη C αλλά με τη C++. Κάνω λάθος;;


Title: Re: C++ στο Linux
Post by: marauber on March 14, 2008, 18:35:42 pm
Δίκιο έχεις. Αλλά γιατί να θέλεις να μεταγλωττίσεις ένα πρόγραμμα με compiler της C όταν υπάρχει η νεότερη επέκταση της;


Title: deleted
Post by: BOBoMASTORAS on March 14, 2008, 18:48:25 pm
deleted


Title: Re: C++ στο Linux
Post by: tolos on March 14, 2008, 19:00:53 pm
Μπα Bob δεν τις αντιλαμβανεται σα βιβλιοθηκες... Μου βγαζει το εξης μηνυμα λάθους
/home/apostolos/test2/src/test2.c:7: warning: incompatible implicit declaration of built-in function ‘scanf’
όπως επισης και για τις εντολες printf, sqrt...


Title: deleted
Post by: BOBoMASTORAS on March 14, 2008, 19:08:48 pm
deleted


Title: Re: C++ στο Linux
Post by: Καμένος on March 17, 2008, 13:25:43 pm
Ε λογικό δεν είναι?? χαχα


Title: Re: C++ στο Linux
Post by: tolos on March 17, 2008, 14:03:30 pm
Ναι εγω ομως εχω δημιουργησει ενα project σε C. Προσπαθησα να αλλαξω την επεκταση του αρχειου που
περιεχει τον κωδικα σε cpp αλλα οταν ξανανοιγω το project το εμφανιζει με καταληξη .c.

Αν θελησω να το μεταγλωττισω μεσω C++ τι project πρεπει να δημιουργησω απο τις απειρες αρχικες επιλογες και θα πρεπει να αλλαξω τον κωδικα ή θα τον αντιλαμβανεται ως εχει;;

Προσπαθησα να το τρεξω μεσω C++ και μου βγαζει το εξης μηνυμα λαθους
configure: error: We need a working libXext to proceed. Since configure
can't find it itself, we stop here assuming that make wouldn't find
them either.

 :D :D :D


Title: Re: C++ στο Linux
Post by: Aurelius on March 17, 2008, 14:06:58 pm
Λοιπον ανοιγεις το kdevelop, επιλεγες Project->New Project->Simple hello world progam. Ε μετα αντικαθιστας το hello world με οτι αλλο θες. Και συνεχιζεις


Title: Re: C++ στο Linux
Post by: kanele on March 22, 2008, 05:12:51 am
   Λοιπόν, μετά απο λίγο παίδεμα(έχει περάσει και η ώρα :-[) το devc++ δουλεύει μέσω wine με λίγα κλικ και έιναι οκ. Εμενα μου έβγαλε κάποιο πρόβλημα με τα ελληνικά και έκανα την εγκατάσταση σε english(τσσσσ!).

Σοου σιμπλ παιδες. :D

Επιπλέον υπάρχει και plugin για τον eclipse για c++, αλλά δεν κατάφερα να την βάλω μαζί με την κύρια εφαρμογή και το εγκατέστησα αυτούσιο :-\. Λογικά τις επόμενες ώρες θα λυθεί κι αυτό.

jesus saves   ...λένε τώρα :)


Title: Re: C++ στο Linux
Post by: Verminoz on March 22, 2008, 09:58:30 am
Ρε morphis, είσαι σε Linux και τρέχεις το Dev-C++ με wine? Βάλε Kdevelop να ησυχάσεις... :D


Title: Re: C++ στο Linux
Post by: kanele on March 22, 2008, 14:59:14 pm
     Εγώ δουλεύω με το eclipse, το devcpp ήθελα απλά να δοκιμάσω αν δουλεύει, και δουλεύει ;)

Ελπίζω να μην με κοροιδε'υεις, ε;;


Title: Re: C++ στο Linux
Post by: kanele on March 22, 2008, 15:01:15 pm
  Επειδή το παραπάνω με το eclipse δεν λύθηκε :'(, έχετε καμιά ιδέα για το πώς γίνεται;


Title: Re: C++ στο Linux
Post by: Verminoz on March 22, 2008, 18:51:47 pm
Έχεις εγκαταστήσει το απαραίτητο πακέτο?

Λέγεται eclipse-cdt.

Όχι ρε, δε σε κοροϊδεύω :)


Title: Re: C++ στο Linux
Post by: kanele on March 22, 2008, 20:08:43 pm
     Ευχαριστώ πολύ, τελικά μόνο αυτο χρειαζότανε για να δουλέψει.



edit: πλάκα έκανα για το δούλεμα, με την καλή έννοια πάντα :P