C/C++: Undefined reference to `main'

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

C/C++: Undefined reference to `main'

Post by The Punisher » Fri Jun 01, 2007 1:18 pm

έχω το εξής πρόβλημα με τον παρακάτω κώδικα. χρησιμοποιώ Eclipse, και όταν πάω να παράγω τα binaries, μου εμφανίζει το πρόβλημα
**** Build of configuration Debug for project ops ****

make -k all
Building file: ../ops.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"ops.d" -MT"ops.d" -o"ops.o" "../ops.c"
Finished building: ../ops.c

Building target: ops
Invoking: GCC C Linker
gcc -o"ops" ./ops.o
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [ops] Error 1
make: Target `all' not remade because of errors.
Build complete for project ops
ο κώδικας είναι, όπως τον κατέβασα απ' το eclass των λειτουργικών

Code: Select all

#include <stdio.h> 
int main(){ 
	int child, b;
	char command[25]={"find / -name "*.c" -print"};
	child=fork();
	if (child == 0) //child {
		printf("child\n");
		execlp (command,(char *) 0);
	}
	else{ //parent
		wait(&b); 
		printf("parent\n");
	}
}
Τώρα το πρόβλημα το έχω με την C. Παλιότερα το είχα και με την C++. Είναι κλασσικό prob απ' ότι έχω καταλάβει, αλλά δεν έχω καταφέρει να το λύσω ακόμη

Υπ' όψιν, χρησιμοποιώ managed make c project.

Ορίστε και το autogenerated makefile

Code: Select all

################################################################################
# Automatically-generated file. Do not edit!
################################################################################

-include ../makefile.init

RM := rm -rf

# All of the sources participating in the build are defined here
-include sources.mk
-include subdir.mk
-include objects.mk

ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables 

# All Target
all: ops

# Tool invocations
ops: $(OBJS) $(USER_OBJS)
	@echo 'Building target: $@'
	@echo 'Invoking: GCC C Linker'
	g++  -o"ops" $(OBJS) $(USER_OBJS) $(LIBS)
	@echo 'Finished building target: $@'
	@echo ' '

# Other Targets
clean:
	-$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) ops
	-@echo ' '

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

Post by The Punisher » Fri Jun 01, 2007 1:42 pm

Ήμουν τραγικός! Δεν είχα σώσει το αρχείο... :roll:

Ας μην αναφέρω και το γεγονός ότι ο κώδικας, χωρίς να τον αλλάξω manually, δεν έτρεχε, καθώς είχε λάθη. Όταν βγάζεις κάτι online δεν υποτίθεται ότι το έχεις κάνει compile και δεν το έχεις τρέξει απλά με το μάτι (τι θυμήθηκα τώρα :evil:)?
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Fri Jun 01, 2007 1:48 pm

χάρη, το μόνο που μένει τώρα είναι να κλειδώσεις μόνος σου και το thread :-D
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

Post by The Punisher » Fri Jun 01, 2007 1:51 pm

χαχα :-D ! το αφήνω φυσικά, μπας και έχει και κανείς άλλος καμία απορία επί του θέματος.

Πάντως είμαι self-sufficient ε? Δεν θέλω παράπονα ...
User avatar
Crab
Mbyte level
Mbyte level
Posts: 755
Joined: Mon Mar 26, 2007 7:03 pm
Academic status: N>4
Gender:
Location: highway 163

Post by Crab » Fri Jun 01, 2007 2:02 pm

tsilochr wrote:χάρη, το μόνο που μένει τώρα είναι να κλειδώσεις μόνος σου και το thread :-D
Σιγά ρε συ υπάρχουν και χειρότερα...
Σ' ένα άλλο forum ένας τύπος άνοιξε κουβέντα με τον εαυτό του :-D
Post Reply

Return to “Προγραμματισμός”