compile MP3x of Lame 3.98-2 winXP Step by Step, Visual Studio 2008, windows XP, 3.98-2 |
![]() ![]() |
compile MP3x of Lame 3.98-2 winXP Step by Step, Visual Studio 2008, windows XP, 3.98-2 |
Feb 9 2010, 12:05
Post
#1
|
|
|
Group: Members Posts: 22 Joined: 26-January 10 Member No.: 77540 |
Hello.
Can somebody write how to successfuly compile lame3.98-2 MP3x frame analyzer source code step by step? To do this is nessesary download ----------------------------------------- GTK+ toolkit (older than 2.0): ftp://ftp.gimp.org/pub/gtk/v1.3/gtk+-1.3.9.tar.gz Lame source code: http://sourceforge.net/projects/lame/files/lame-398-2.tar.gz Visual Studio ----------------------------------------- After that I do something wrong. What? I unpack Lame to E:\school\lame-398-2\ I unpack Gtk to E:\school\lame-398-2\gtk in gtk folder are following folders: atk glib gtk+ pango stock-icons Open lame_vc6.dsw => Build MP3x => requires <gtk/gtk.h>, (Cannot open include file: 'gtk\gtk.h': No such file or directory) althroug this *.h is in E:\school\lame-398-2\gtk\gtk+\gtk\ so I copied whole gtk\gtk.h folder to E:\school\lame-398-2\ fixed Also missing <gdk\gdk.h> => gdk\gdk.h copied to main folder E:\school\lame-398-2\ fixed Also missing <glib.h> => E:\school\lame-398-2\gtk+\glib\glib\ folder copied to main folder E:\school\lame-398-2\ fixed And probem is "fatal error C1083: Cannot open include file: 'glibconfig.h': No such file or directory" header file "glibconfig.h" is not include in ftp://ftp.gimp.org/pub/gtk/v1.3/gtk+-1.3.9.tar.gz --------------------------- only in GTK 2.0 toolkit. but in GTK 2.0 cannot by used for compilling LAME MP3x, because GTK_WINDOW_DIALOG is no longer presentin GTK-2.0 How to continue? |
|
|
|
Feb 9 2010, 12:33
Post
#2
|
|
|
Group: Members Posts: 22 Joined: 26-January 10 Member No.: 77540 |
I just copied "glibconfig.h" from Gtk 2.0 and its => fixed
Also missing <pango/pango.h> => copied from gtk 1.3 copied to E:\school\lame-398-2\ Also missing <glib-object.h> => from gtk 1.3 E:\school\lame-398-2\ Also missing <gobject/gboxed.h> => folder from gtk 1.3 to E:\school\lame-398-2\ Also missing <gdkconfig.h> => from Gtk 2.0 ... <gdk-pixbuf\gdk-pixbuf.h> => gdk-pixbuf folder to E:\school\lame-398-2\ also <atk/atkobject.h> => atk folder to E:\school\lame-398-2\ and the PERL is: e:\!!!skola\lame-398-2\frontend\gtkanal.c(1146) : error C2065: 'GTK_WINDOW_DIALOG' : undeclared identifier e:\!!!skola\lame-398-2\frontend\gtkanal.c(1159) : warning C4013: 'gtk_text_set_editable' undefined; assuming extern returning int e:\!!!skola\lame-398-2\frontend\gtkanal.c(1160) : error C2223: left of '->vadj' must point to struct/union e:\!!!skola\lame-398-2\frontend\gtkanal.c(1160) : error C2198: 'gtk_vscrollbar_new' : too few arguments for call SAME ERROR like GTK+ 2.0 "GTK_WINDOW_DIALOG" What I am doing wrog? I am a nervous. please help. thanks a lot for answer This post has been edited by greynol: Feb 9 2010, 18:00
Reason for edit: Was quoting your own previous post really necessary?
|
|
|
|
Feb 9 2010, 14:46
Post
#3
|
|
![]() Group: Members Posts: 292 Joined: 17-November 06 Member No.: 37682 |
you shouldn't copy things. there are several project settings which can help. here's a manual for another project:
http://freakschat.googlecode.com/hg/share/...ld-windows.html check out "Creating a VS solution from scratch", there are instructions how to modify properties such as "Additional Include Directories", "Additional Library Directories" and "Additional Dependencies". the first property is needed for VS to find external headers, the latter 2 are required to be properly set for linking. of course your mileage will vary with this specific project, this will just give you a picture what's the way building works in VS. this project uses environmental variables ("$DEPS"), you can safely use absolute paths (such as "E:\school\lame-398-2\gtk\includes" or wherever the required headers are). This post has been edited by viktor: Feb 9 2010, 14:52 |
|
|
|
Feb 10 2010, 17:16
Post
#4
|
|
|
Group: Members Posts: 22 Joined: 26-January 10 Member No.: 77540 |
Can someone else help with it? Somebody who already did LAME on windows XP.
more solutions will by very helpful. Thanks for answers. |
|
|
|
Feb 10 2010, 19:03
Post
#5
|
|
![]() Group: Members Posts: 292 Joined: 17-November 06 Member No.: 37682 |
i've managed to get it work with gtk2:
![]() i think i'll send patches to the LAME team. if they reject it, i'll publish a howto here. This post has been edited by viktor: Feb 10 2010, 19:03 |
|
|
|
Feb 10 2010, 19:26
Post
#6
|
|
![]() Group: Members Posts: 292 Joined: 17-November 06 Member No.: 37682 |
okay i'm too lazy for a well-formatted patch so here's the howto:
1) download the latest gtk+ bundle: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.18/ extract it to a folder anywhere, i use "c:\users\user\desktop\gtk" from now. change it everywhere according to your folder. 2) control panel/system/advanced system settings/environmental variables/user variables for user: new, name: PATH, value: c:\users\user\desktop\gtk\bin. if PATH already exists, append ";c:\users\user\desktop\gtk\bin" without quotation marks. 3) open lame-398-2/lame_vc8.sln with vs. if you're using vs2008, use the conversion wizard to update the solution. open mp3x_vc8/source files/gtkanal.c line 1146. change CODE textwindow = gtk_window_new(GTK_WINDOW_DIALOG); to CODE textwindow = gtk_window_new(GTK_WINDOW_POPUP); line 1160. change CODE vscrollbar = gtk_vscrollbar_new(GTK_TEXT(box)->vadj); to CODE vscrollbar = gtk_vscrollbar_new(GTK_TEXT_VIEW(box)->vadjustment); line 1402: comment it out like: CODE /* gtk_accel_group_attach(accel_group, GTK_OBJECT(windows)); */ 4) change solution configuration to "Release". go to mp3x project properties. right click on mp3x_vc8. go to configuration properties. 5) C/C++/General/Additional Include Directories. add: CODE c:\users\user\desktop\gtk\include\gtk-2.0 c:\users\user\desktop\gtk\include\glib-2.0 c:\users\user\desktop\gtk\lib\glib-2.0\include c:\users\user\desktop\gtk\include\cairo c:\users\user\desktop\gtk\include\pango-1.0 c:\users\user\desktop\gtk\lib\gtk-2.0\include c:\users\user\desktop\gtk\include\atk-1.0 6) C/C++/Preprocessor/Preprocessor Definitions: add: CODE GTK_ENABLE_BROKEN 7) C/C++/Code Generation/Runtime Library: change to Multi-threaded (/MT) 8) Linker/General/Additional Library Directories: add: CODE c:\users\user\desktop\gtk\lib 9) Linker/Input/Additional Dependencies: remove CODE glib-2.0.lib gdk.lib gtk.lib and add: CODE gtk-win32-2.0.lib gdk-win32-2.0.lib glib-2.0.lib gobject-2.0.lib 10) build mp3x. go to lame-398-2/output. copy an mp3 here as "test.mp3". run a command prompt from here (in TC enter "cmd"). in cmd enter "mp3x test.mp3", and it should run. there are errors in the command line ("assertion failed") and if you resize the window the graphs won't be redrawed, etc. so this is just a start, but at least it builds and runs. maybe someone will fix it correctly. This post has been edited by viktor: Feb 10 2010, 19:37 |
|
|
|
Feb 12 2010, 12:38
Post
#7
|
|
|
Group: Members Posts: 22 Joined: 26-January 10 Member No.: 77540 |
Viktor. Thanks, Thanks, Thanks
I am pretty surprised. IT WORKs. WOW I will buy a many beers for that help... |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 05:07 |