Re: unexpected token main (mark space)
"jaccobacco" <[email protected]> Tue, 13 May 2003 04:40:37 -0000
| Newsgroups | gmane.comp.video.gimp.windows.devel |
|---|---|
| Message-ID | <[email protected]> |
Eep - I had a hw.c infront of the gcc command ! It's working now. Thanks anyway. --- In [email protected], "jaccobacco" <peter_m@a...> wrote: > 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/