sotosko Δημοσ. 27 Φεβρουαρίου 2011 Μέλος Δημοσ. 27 Φεβρουαρίου 2011 Όταν κάνεις build στο project έχεις την δυνατότητα να το κάνεις Debug ή Release Build (Build->Configuration Manager). Τα εκτελέσιμα αποθηκεύονται στον φάκελο του project (default Documents\Visual Studio 2010\Projects\). Μέσα στον φάκελο του project θα βρείς φάκελο Debug ή Release (ανάλογα τον τύπο του Build). Εκεί μέσα είναι τα εκτελέσιμα. Οκ, το βρήκα.
Timonkaipumpa Δημοσ. 27 Φεβρουαρίου 2011 Δημοσ. 27 Φεβρουαρίου 2011 Οκ, το βρήκα. Εκεί που έχει τις επιλογές για το Build μέσα από το VS έχει και επιλογή για clean. Χρησιμοποίησέ την. Είναι το ίδιο με το να επιλέξεις Rebuild. Δοκίμασέ το. Επέλεξε clean και μετά κάνε compile σε terminal.
MitsakosGR Δημοσ. 27 Φεβρουαρίου 2011 Δημοσ. 27 Φεβρουαρίου 2011 Ψάχνοντας στο internet για το πως γίνεται compile χωρίς project, βρήκα αυτό που βάζει κουμπί Compile στο tools (τελευταία απάντηση). Αν βρεις όλες τις παραμέτρους του cl.exe (το Path για το cl.exe είναι "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe") λογικά θα δουλέψει σωστά και χωρίς project (πάντα δούλευα project οπότε δεν έχω ιδέα τι παραμέτρους θέλει).
sotosko Δημοσ. 28 Φεβρουαρίου 2011 Μέλος Δημοσ. 28 Φεβρουαρίου 2011 Εκεί που έχει τις επιλογές για το Build μέσα από το VS έχει και επιλογή για clean. Χρησιμοποίησέ την. Είναι το ίδιο με το να επιλέξεις Rebuild. Δοκίμασέ το. Επέλεξε clean και μετά κάνε compile σε terminal. Πάλι το ίδιο σφάλμα βγάζει Ψάχνοντας στο internet για το πως γίνεται compile χωρίς project, βρήκα αυτό που βάζει κουμπί Compile στο tools (τελευταία απάντηση). Αν βρεις όλες τις παραμέτρους του cl.exe (το Path για το cl.exe είναι "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe") λογικά θα δουλέψει σωστά και χωρίς project (πάντα δούλευα project οπότε δεν έχω ιδέα τι παραμέτρους θέλει). Ο τρόπος αυτός φαίνεται εξίσου καλός. Ακολούθησα τα βήματα αλλά τώρα όταν πατάω το κουμπί που δημιούργησα μου εμφανίζει το εξής σφάλμα: "Η εκκίνηση αυτού του προγράμματος δεν ήταν δυνατή, επειδή το στοιχείο mspdb100.dll λείπει από τον υπολογιστή σας." Μέχρι να σταματήσει να δουλεύει σωστά, εγώ έκανα compile με αυτόν τον τρόπο
At0m0 Δημοσ. 28 Φεβρουαρίου 2011 Δημοσ. 28 Φεβρουαρίου 2011 Εγώ θα τολμούσα να πώ ότι στο %path% του PC σου υπάρχει κάτι που προσπαθεί να το ακολουθήσει o complier αλλά δεν το βρίσκει λόγω του space στο path. Ακόμα και άν δεν είναι στο path το λάθος, είναι σε κάποιο .ini ή ότι τέλος πάντων διαβάζει o compiler για να βρεί τα "σύνεργα" για να κάνει αυτό που πρέπει να κάνει.
MitsakosGR Δημοσ. 28 Φεβρουαρίου 2011 Δημοσ. 28 Φεβρουαρίου 2011 Εγώ θα τολμούσα να πώ ότι στο %path% του PC σου υπάρχει κάτι που προσπαθεί να το ακολουθήσει o complier αλλά δεν το βρίσκει λόγω του space στο path. Ακόμα και άν δεν είναι στο path το λάθος, είναι σε κάποιο .ini ή ότι τέλος πάντων διαβάζει o compiler για να βρεί τα "σύνεργα" για να κάνει αυτό που πρέπει να κάνει. Αν είχαν πρόβλημα με το Space στο Path τα Windows, τότε δεν θα ονόμαζαν ποτέ έναν φάκελο "Program Files" μέσα στον οποίο είναι όλα σχεδόν τα προγράμματα (από default) τουλάχιστον...
sotosko Δημοσ. 28 Φεβρουαρίου 2011 Μέλος Δημοσ. 28 Φεβρουαρίου 2011 Αν είχαν πρόβλημα με το Space στο Path τα Windows, τότε δεν θα ονόμαζαν ποτέ έναν φάκελο "Program Files" μέσα στον οποίο είναι όλα σχεδόν τα προγράμματα (από default) τουλάχιστον... Μπορώ να συμφωνήσω. Μου φαίνεται το πρόβλημα που αντιμετωπίζω είναι από αυτά τα προβλήματα που σε παιδεύουν για πολύ καιρό και τελικά δεν βρίσκεις λύση. (Όπως για παράδειγμα το πρόβλημα με τον installer του Matlab που αρνείται να ξεκινήσει...)
V.I.Smirnov Δημοσ. 28 Φεβρουαρίου 2011 Δημοσ. 28 Φεβρουαρίου 2011 Αν δεν θέλεις να χρησιμοποιείς project δεν έχει πολύ νόημα το να γράφεις σε ένα IDE, ειδικά των δυνατοτήτων του visual studio. Kαι γενικά η γραφή ενός 'ξεκάρφωτου' *.cpp και το άμεσο compiling του είναι κακή συνήθεια. To project έχει την έννοια ότι επιτρέπει να κάνεις εύκολα ένα πλήθος ρυθμίσεων όπως τα ονόματα των αρχείων που παράγονται (exe, lib, pdb), η θέση που θα τοποθετηθούν, να ορίσεις διαμορφώσεις (πέραν των αρχικών debug & release), ποιές βελτιστοποιήσεις θα είναι ανοιχτές, να συμπεριλαμβάνεις βιβλιοθήκες και άλλα αρχεία που τυχόν χρειάζονται, να θέτεις παραμέτρους στην γραμμή εντολών, να ενεργοποιείς ειδικές λειτουργίες όπως το ΟpenMP και άλλα χρήσιμα (ή άχρηστα !) πράγματα. Όλες αυτές οι ρυθμίσεις αποθηκεύονται αυτόματα από το VS στα συνοδευτικά αρχεία (όπως τα *.sln και *.vproject) που δεν τα αγγίζεις ποτέ. Είναι εξαιρετική ευκολία. Ακόμα κι' αν πρόκειται μόνον για μικρά δοκιμαστικά προγράμματα, μπορείς να φτιάξεις ένα project και να τα θέτεις όλα σε έναν φάκελο ως *.txt. Kάθε φορά που θέλεις να τρέξεις κάποιο, απλώς το μετονομάζεις σε cpp και το τρέχεις χωρίς να βγεις από VS (δεξί κλικ επάνω του και του αλλάζεις το όνομα). Ή να το έχεις κενό και κάθε φορά να βάζεις σ' αυτό το νέο σου cpp. Ψάξε πώς γίνονται αυτά κι' όχι πώς θα κάνεις compile ένα ξεκάρφωτο *.cpp Για να κάνεις από την γραμμή εντολών compile-build κάτι που έχει πολλές ρυθμίσεις θα πρέπει να γράφεις σκριπτάκια, πράγμα όχι και τόσο πρακτικό όταν υπάρχουν έτοιμες όλες οι ευκολίες μέσα από το περιβάλλον. Το μόνον μειονέκτημα ίσως είναι ότι το IDE απομακρύνει από τον hard core χειρισμό του υπολογιστή. -
sotosko Δημοσ. 28 Φεβρουαρίου 2011 Μέλος Δημοσ. 28 Φεβρουαρίου 2011 Αν δεν θέλεις να χρησιμοποιείς project δεν έχει πολύ νόημα το να γράφεις σε ένα IDE, ειδικά των δυνατοτήτων του visual studio. Kαι γενικά η γραφή ενός 'ξεκάρφωτου' *.cpp και το άμεσο compiling του είναι κακή συνήθεια. To project έχει την έννοια ότι επιτρέπει να κάνεις εύκολα ένα πλήθος ρυθμίσεων όπως τα ονόματα των αρχείων που παράγονται (exe, lib, pdb), η θέση που θα τοποθετηθούν, να ορίσεις διαμορφώσεις (πέραν των αρχικών debug & release), ποιές βελτιστοποιήσεις θα είναι ανοιχτές, να συμπεριλαμβάνεις βιβλιοθήκες και άλλα αρχεία που τυχόν χρειάζονται, να θέτεις παραμέτρους στην γραμμή εντολών, να ενεργοποιείς ειδικές λειτουργίες όπως το ΟpenMP και άλλα χρήσιμα (ή άχρηστα !) πράγματα. Όλες αυτές οι ρυθμίσεις αποθηκεύονται αυτόματα από το VS στα συνοδευτικά αρχεία (όπως τα *.sln και *.vproject) που δεν τα αγγίζεις ποτέ. Είναι εξαιρετική ευκολία. Ακόμα κι' αν πρόκειται μόνον για μικρά δοκιμαστικά προγράμματα, μπορείς να φτιάξεις ένα project και να τα θέτεις όλα σε έναν φάκελο ως *.txt. Kάθε φορά που θέλεις να τρέξεις κάποιο, απλώς το μετονομάζεις σε cpp και το τρέχεις χωρίς να βγεις από VS (δεξί κλικ επάνω του και του αλλάζεις το όνομα). Ή να το έχεις κενό και κάθε φορά να βάζεις σ' αυτό το νέο σου cpp. Ψάξε πώς γίνονται αυτά κι' όχι πώς θα κάνεις compile ένα ξεκάρφωτο *.cpp Για να κάνεις από την γραμμή εντολών compile-build κάτι που έχει πολλές ρυθμίσεις θα πρέπει να γράφεις σκριπτάκια, πράγμα όχι και τόσο πρακτικό όταν υπάρχουν έτοιμες όλες οι ευκολίες μέσα από το περιβάλλον. Το μόνον μειονέκτημα ίσως είναι ότι το IDE απομακρύνει από τον hard core χειρισμό του υπολογιστή. - Δεν μπορώ παρά να συμφωνήσω και μαζί σου. Το θέμα είναι ότι μου φαίνεται περίεργο το πώς πιο πριν δούλευε το compile από το command prompt ενώ τώρα ξαφνικά βγάζει πρόβλημα. Βέβαια, υπολογιστές είναι αυτοί οπότε...
Evgenios1 Δημοσ. 1 Μαρτίου 2011 Δημοσ. 1 Μαρτίου 2011 Ποσταρε το promp πχ > E:\Users\papi\Documents\Visual Studio 2010\Projects\test\test>cl test.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. test.cpp Microsoft (R) Incremental Linker Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. /out:test.exe test.obj E:\Users\papi\Documents\Visual Studio 2010\Projects\test\test>
sotosko Δημοσ. 1 Μαρτίου 2011 Μέλος Δημοσ. 1 Μαρτίου 2011 Ποσταρε το promp Ορίστε και screenshot από το error που βγάζει. το screenshot:
At0m0 Δημοσ. 1 Μαρτίου 2011 Δημοσ. 1 Μαρτίου 2011 Αν είχαν πρόβλημα με το Space στο Path τα Windows, τότε δεν θα ονόμαζαν ποτέ έναν φάκελο "Program Files" μέσα στον οποίο είναι όλα σχεδόν τα προγράμματα (από default) τουλάχιστον... Εγώ δεν έγραψα ότι φταίνε τα windows. Έγραψα ότι φταίει ο compiler. Για την ακρίβεια έγραψα ότι φταίει κάτι στο %path% ή .ini ή registry entry ή οτιδήποτε άλλο στέλνει to cl.exe να ψάξει σε ένα φάκελο το path του οποίου περιέχει κενά. Το ότι είναι πρόβλημα με τα κενά σε κάποιο path το ξέρουμε ήδη καθώς ο sotosko μας έχει πει ότι το Username του είναι "Σωτήρης Κ" ενώ το μήνυμα λάθους δεν έχει πάρει χαμπάρι για το τι γίνεται μετά το "Σωτήρης". Το πιθανότερο είναι ότι κάπου έχει χρησιμοποιήσει το "C:\users\Σωτήρης K_κ.λπ." και έχει ξεχάσει να το βάλει μέσα σε quotes ("")
sotosko Δημοσ. 1 Μαρτίου 2011 Μέλος Δημοσ. 1 Μαρτίου 2011 Το πιθανότερο είναι ότι κάπου έχει χρησιμοποιήσει το "C:\users\Σωτήρης K_κ.λπ." και έχει ξεχάσει να το βάλει μέσα σε quotes ("") Αυτό το λάθος δεν γίνεται όμως να το έχω κάνει εγώ ο ίδιος καθώς δεν έβαλα πουθενά κανένα path. Εγώ απλά πηγαίνω με "cd" στον φάκελο που βρίσκεται ο κώδικας και κάνω "cl". Υπάρχει περίπτωση κάτι που εγκατέστησα πρόσφατα να κατέστρεψε την ακεραιότητα του command prompt του Visual Studio; (Αν και όλα γίνονται αν μιλάμε για Windows...)
At0m0 Δημοσ. 1 Μαρτίου 2011 Δημοσ. 1 Μαρτίου 2011 Το βρήκα (εντάξει το διάβασα από αλλού) sotοs έχεις κάνει λάθος στο set tmp=<path εδω> παράδειγμα > C:\Users\john\pa tata>set Tmp=c:\Temp\άλλο φρούτο C:\Users\john\pa tata>cl d:\temp\0\hello.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.c Microsoft (R) Incremental Linker Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. LINK : fatal error LNK1104: cannot open file 'c:\Temp\άλλο' C:\Users\john\pa tata> Προσθήκη Δεξί click στο My Computer Properties Advanced system settings Environment Variables... Ελεγξε τι λέει εκεί για το TMP
sotosko Δημοσ. 1 Μαρτίου 2011 Μέλος Δημοσ. 1 Μαρτίου 2011 Το βρήκα (εντάξει το διάβασα από αλλού) sotοs έχεις κάνει λάθος στο set tmp=<path εδω> παράδειγμα > C:\Users\john\pa tata>set Tmp=c:\Temp\άλλο φρούτο C:\Users\john\pa tata>cl d:\temp\0\hello.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.c Microsoft (R) Incremental Linker Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. LINK : fatal error LNK1104: cannot open file 'c:\Temp\άλλο' C:\Users\john\pa tata> Προσθήκη Δεξί click στο My Computer Properties Advanced system settings Environment Variables... Ελεγξε τι λέει εκεί για το TMP Ποτέ μα ποτέ δεν θα σκεφτόμουν ότι μπορεί να φταίει κάτι τέτοιο. Λοιπόν, στο TMP έχει "%USERPROFILE%\AppData\Local\Temp" χωρίς τα εισαγωγικά Υ.Γ. Το άλλαξα σε "temp" που είναι ο φάκελος C:\temp και τώρα δουλεύει κανονικά. Αλήθεια, ποιο είναι το default directory του TMP;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.