unexpected token main (mark space)

"jaccobacco" <[email protected]> Tue, 13 May 2003 02:32:54 -0000
Newsgroups gmane.comp.video.gimp.windows.devel
Message-ID <[email protected]>
Hi Mark,

I followed your instructions to Jigar exactly (I believe) - but when 
I make the gtk hello world (hw.c) get...

hw.c gcc hw.c -o hw.exe -mms-bitfields `pkg-config --cflags --libs 
gtk+-win32-2.
0`
./hw.c: line 3: syntax error near unexpected token `main('
./hw.c: line 3: `int main( int argc, char *argv[] )'
make: *** [hw.exe] Error 2

Could you help me work out why?

Thanks for the help,

Peter.
--- In [email protected], Mark Space <brenden@r...> wrote:
> Jigar Suthar wrote:
> 
> >Yeah, I'm interested. Right now I'm trying to get my GTK SDK to 
work 
> >with MinGW. MinGW probably works, but I'm trying to make a basic 
> >window that they have in their tutorial.
> >  
> >
> Sure, your first two tasks are to install Msys and gvim. Msys I 
assume 
> you know about, install that first.  gvim is over at gvim.org, grab 
the 
> latest version from their download page and install.
> 
> Make sure you have paths set appropriately for both msys and gvim. 
I 
> think I only had to set msys's path.
> 
> Next you have to edit the gvim config file just a bit.  Don't worry 
this 
> is easy.  gvim normally installs a file in c:\vim\_vimrc where you 
add 
> config commands.  The defautl files are pretty bad.  Go into the 
vim61 
> (or which ever version number) and copy the files 
> c:\vim\vim61\gvimrc_example.vim to c:\vim\_gvimrc , and 
> c:\vim\vim61\vimrc_example.vim to c:\vim\_vimrc. Next all you need 
to do 
> is add these lines to the end of _vimrc:
> 
> set autowrite
> set ignorecase
> set ts=4 sw=4
> set sh=sh
> set shellpipe=>%s\ 2>&1
> 
> Save the file _vimrc, exit gvim, and then run gvim again by editing 
the 
> same file.  The :shell command should now use the bash shell you 
> downloaded with msys, if you have the path set properly to contain 
> c:\msys\1.0\bin (or where ever you installed msys). Test it 
with 'ls' 
> command, then 'exit'. You should also have syntax highlighting at 
this 
> point.
> 
> I should mention right now that gvim (and vi and vim) are kinda 
hard to 
> get used to if all you know are GUI IDEs.  But gvim works exactly 
the 
> same way on unix as it does under windows, which makes editing a 
breeze 
> for me because I only have to know one editor.  If you don't know 
vi and 
> related programs at all, you start in command mode. To edit, type 
the 
> 'i' key to enter instert mode. Press ESC to get back to command 
mode.  
> You can only use commands like :shell (type that exactly, including 
the 
> ':') in command mode.
> 
> Let's test just a bit more before starting out gtk.
> 
> I make new projects with explorer (the file browser).  I have a 
\dev 
> subdirectory on my desktop, so it's easy for me to start new 
projects.  
> I just double click that icon, then make a new subdirectory with 
the 
> file->new->folder command.  However you want, make a folder called 
test, 
> then under that folder another one called hw.  In hw, make two new 
text 
> files (this can be done with exploreer too, with the file->new-
>text 
> file command). Rename the first text file Makefile and the second 
hw.c. 
> (You will need to show file name extensions in order to not have 
> filenames like Makfile.txt and hw.c.txt. Do this now if you don't 
have 
> it set already.)
> 
> Now edit Makefile by right clicking on it and selecting "Edit with 
vim". 
> Enter the following lines in Makefile:
> 
> hw.exe: hw.o
>     gcc -o hw.exe hw.o
> 
> The space in front of the gcc command is important. 
(Makefile "scripts" 
> are sensitive to indentation.)  Now go to exploreer again and right 
> click on the hw.c file, choose "Edit with existing vim - Makefile"  
It's 
> important to use the same gvim for each project, or it gets 
complicated 
> trying to juggle many seperate open files. gvim will juggle for you 
if 
> you use the same gvim instance for all your files.  Type the 
following 
> lines into hw.c:
> 
> #include <stdio.h>
> 
> main()
> {
>     printf( "Hello World!\n" );
> }
> 
> Try now using the Buffer menu to switch back and forth between 
Makefile 
> and hw.c. Notice they are both still loaded.  Now compile your 
program 
> by typing :make in command mode (press ESC first). gvim will 
> automatically save all modified buffers to disk, and run make in a 
bash 
> shell.  If it finds any errors, gvim will display the first one and 
move 
> your cursor to the offending line.  You can go to the next error 
with 
> the :cn command, and you can go back to the previous error with 
the :cp 
> command.  If you want to see all of your errors in a window, 
use :cw  
> This is best done with a full screen mode gvim (just full screen 
the 
> window) and maybe the Window->split command so you can see error 
and a 
> couple different files at the same time.  Make sure you have both 
hw.o 
> and hw.exe in your subdirectory, run hw.exe by double clicking on 
it.  
> If you don't have hw.exe, you may have got linker errors. These 
gvim 
> can't help you fix, so you have to use :cw to see them and figure 
out 
> what went wrong.  If everything goes with out a hitch, introduce 
some 
> syntax errors into hw.c so you can play around with finding and 
fixing 
> errors in gvim.  Use the WIndows->split command and practice 
resizing 
> the buffers (just grab the black bar with the mouse and move it up 
or 
> down), viewing your Makefile and hw.c at the same time, and 
building in 
> this mode too (building = type :make).
> 
> Now that you are just about a gvim expert you are ready for some 
gtk. 
> Quit this gvim completely before going on to gtk.
> 
> Back to the \dev directory, I made a \dev\gtk directory, then put 
the 
> tutorial files into gtk\test\hw and gtk\test\hw2. Make the hw 
subdir 
> first and put two new text files therein, just like before, named 
> Makefile and hw.c.  Right click on the new Makefile and 
choose "Edit 
> with vim" to start fresh.  The makefile from the first gtk example 
> almost works but needs a bit of changing for win32.  Here's what I 
used:
> 
> hw.exe: hw.c
>     gcc hw.c -o hw.exe -mms-bitfields `pkg-config --cflags --libs 
> gtk+-1.3-win32-production`
> 
> The only changes are the flag -mms-bitfields and the different 
config 
> package.  Next right click on the new hw.c file and choose "Edit 
with 
> existing vim - Makefile" as before.  Use the first example from the 
gtk 
> verbatium:
> 
> #include <gtk/gtk.h>
> 
> int main( int   argc,
>           char *argv[] )
> {
>     GtkWidget *window;
>    
>     gtk_init (&argc, &argv);
>    
>     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
>     gtk_widget_show  (window);
>    
>     gtk_main ();
>    
>     return(0);
> }
> 
> This should now compile without a hitch.  If you get any errors, 
use :cw 
> in command mode to list them as before, and debug as normal.
> 
> That's all for now! My finders are tired.  Your best source for 
info on 
> gvim is the givm.org home page, check out their "tips" section.  
The gnu 
> programs are well documented on gnu.org.  Don't forget that if gvim 
gets 
> too confusing you can also try to build the exact same files you 
have 
> created by making a shell and comipling from there - just click on 
the 
> Msys icon, cd "subdir" to go to the correct folder, and type "make" 
in 
> the correct subdir to build a project which has a Makefile.
> 
> TTFN!


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Rent DVDs from home.
Over 14,500 titles. Free Shipping
& No Late Fees. Try Netflix for FREE!
http://us.click.yahoo.com/BVVfoB/hP.FAA/uetFAA/NhFolB/TM
---------------------------------------------------------------------~->

To Post a message, send it to: [email protected]
To Unsubscribe, send a blank message to: [email protected] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/