djacobs Posted September 27, 2011 Share Posted September 27, 2011 Hi, First of all i am new to developing under mac through use of xcode 4.0. I've had experience coding for linux using emacs and gcc, and microsoft visual studio (for windows). The problem that i'm facing now is the following, whenever i try to run the code below i get the following warning and error. I kind of have a feeling xcode doesnt accept my main() function or so. Can anyone shine some light upon this dark mystery? With kind regards, Djacobs. ***Code*** // // main.cpp // #include <iostream> #include "genlib.h" int main() { cout << "Hello, World!\n" << endl; return 0; } ***Warning*** warning: no previous prototype for function 'Main' [-Wmissing-prototypes,3] int main () ***Error*** Undefined symbols for architecture x86_64: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Link to comment https://www.insanelymac.com/forum/topic/269115-simple-c-program-refuses-to-build/ Share on other sites More sharing options...
cili0 Posted September 28, 2011 Share Posted September 28, 2011 what about using the classic main prototype? int main(int argc, char **argv) just give it a try ciao, cili0. Link to comment https://www.insanelymac.com/forum/topic/269115-simple-c-program-refuses-to-build/#findComment-1754022 Share on other sites More sharing options...
djacobs Posted October 4, 2011 Author Share Posted October 4, 2011 what about using the classic main prototype? int main(int argc, char **argv) just give it a try ciao, cili0. I assume you mean "int main(int argc, char *argv[])", but no i've allready tried that. Link to comment https://www.insanelymac.com/forum/topic/269115-simple-c-program-refuses-to-build/#findComment-1756123 Share on other sites More sharing options...
Airr Posted October 21, 2011 Share Posted October 21, 2011 I think you need std:: in front of cout and endl. #include <iostream> int main (int argc, char * const argv[]) { std::cout << "Hello, World!" << std::endl; return 0; } OR, use the std namespace: #include <iostream> using namespace std; int main (int argc, char * const argv[]) { cout << "Hello, World!" << endl; return 0; } Link to comment https://www.insanelymac.com/forum/topic/269115-simple-c-program-refuses-to-build/#findComment-1762820 Share on other sites More sharing options...
djacobs Posted October 21, 2011 Author Share Posted October 21, 2011 I think you need std:: in front of cout and endl. #include <iostream> int main (int argc, char * const argv[]) { std::cout << "Hello, World!" << std::endl; return 0; } OR, use the std namespace: #include <iostream> using namespace std; int main (int argc, char * const argv[]) { cout << "Hello, World!" << endl; return 0; } Hi Airr, I've just wanted to thank you to solve this issue. It seems like i have to deepen myself into using the standard namespacing. Once again thanks for the help. With kind regards, DJacobs. Link to comment https://www.insanelymac.com/forum/topic/269115-simple-c-program-refuses-to-build/#findComment-1762873 Share on other sites More sharing options...
Recommended Posts