Hi Experts, I am working in a project to link two files with two mains. i.e file 1 is having main() file2 is having main() Like this: File1: int main(){ printf("I am from main 1\n"); return 0; } File2: int main(){ printf("I am from main 2\n"); return 0; } Compiling and linking with the help of makefile. I know this is not possible since linker will throw when it sees 2 mains which results in error "Multiple definition". I tried one way using objcopy to redefine symbols in one file . i.e file2 sybmols is renamed to main2__main using "objcopy --prefix-symbols main2_ main2.o". But after doing this in linker stage it is giving error undefined symbol main2__main. Why this is coming? Any one can give there expert opinion? If any body has a similar makefile can you please share it? Is there any other alternative way? I don't want to use #ifdef ...#endif for any of files since I want this to happen @ at link time. Regards opt
:
Edited by User
Why do you have two main() routines? What do you want to achieve with this? Why don't you just rename one of them into main2()? Do you realize that the C runtime can only call one main(), so having two main()s is doesn't even make sens?
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.