IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
compile MP3x of Lame 3.98-2 winXP Step by Step, Visual Studio 2008, windows XP, 3.98-2
petrus-slovensko
post 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?
Go to the top of the page
+Quote Post
petrus-slovensko
post 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 smile.gif
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?
Go to the top of the page
+Quote Post
viktor
post Feb 9 2010, 14:46
Post #3





Group: Members
Posts: 297
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
Go to the top of the page
+Quote Post
petrus-slovensko
post 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.
Go to the top of the page
+Quote Post
viktor
post Feb 10 2010, 19:03
Post #5





Group: Members
Posts: 297
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
Go to the top of the page
+Quote Post
viktor
post Feb 10 2010, 19:26
Post #6





Group: Members
Posts: 297
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
Go to the top of the page
+Quote Post
petrus-slovensko
post 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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 1st August 2014 - 05:47