Building in_gsf by SmartOne at 3:43 PM EST on February 26, 2009
Using Visual C++ 2008, I'm having problems. The first error was about not having the afxres.h header mentioned in the resource file, so I downloaded it from somewhere and slapped it into the include directory... Then there were a couple things about converting char to const char * or something, so I changed a couple lines. Then it wanted msvcrt.lib, so I downloaded something named as such and threw it into the directory required. Now everything seems to compile, but the linker has all these errors about "unresolved external symbols."
I'm new to C/C++. The only experience I have is Java. I thought it a grand idea to try to build in_gsf with updated components from VBA-M.
Could this work? I understand it would take some work, but in_gsf as it stands now isn't very good. Suggestions?
EDIT: I'm trying to build in_gsf as it is first. :P
The debug version compiled with VS 2003, and the plugin seems to work. So I replaced Sound.cpp and Sound.h with the new versions. I kept trying to build, getting more dependencies, downloading more source files of VBA-M, until the compiler didn't like the __restrict keyword used in Blip_Buffer.h...?
I don't know what I'm doing. Could one of you knowledgeable types tell me if this is worth the effort? (Can this be done?)
Come on, someone has to care about not having sucky GSF playback! You people have the know-how. A hint, perhaps? Thoughts? A pat on the back?
This is the least amount of errors I can get from the Linker when compiling the existing Release version:
1>------ Build started: Project: in_gsf, Configuration: Release Win32 ------ 1>Linking... 1>LIBCMT.lib(fflush.obj) : error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR90.dll) 1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR90.dll) 1>LIBCMT.lib(dosmap.obj) : error LNK2005: __errno already defined in MSVCRT.lib(MSVCR90.dll) 1>LIBCMT.lib(stricmp.obj) : error LNK2005: __stricmp already defined in MSVCRT.lib(MSVCR90.dll) 1> Creating library .\Release/in_gsf.lib and object .\Release/in_gsf.exp 1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library 1>release/in_gsf.dll : fatal error LNK1169: one or more multiply defined symbols found 1>Build log was saved at "file://d:\Desktop\in_gsf_src_0.11\Release\BuildLog.htm" 1>in_gsf - 5 error(s), 1 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I've tried all the different possible combinations of compiler code-generating parameters (/MT, /MD, /MTd, /MDd) with the Linker argument /NODEFAULTLIB:library.
We had server issues with the host, needless to say. And they refuse that there is anything wrong >_<. so we are in the stage of switching over to a provider thats not so shite.
That said, try SourceForge for the VBAM SVN.
And you need MSVC2005 and up to compile VBAM. Main sound core changes are using blargg's filter and GB APU code, which he generously donated & assisted with implementing.
"*obligatory moan about no foobar support for GSF*"
Lunar, because Winamp's plugin SDK is a piece of shit, allowing for mess of code to occur, that would be a massive job. FB2K at least has some elegance about its SDK, not to mention having subsong support in the core....that said...O.O