Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
3rd May 2004, 22:56 | #81 | Link |
Registered User
Join Date: Apr 2004
Posts: 3
|
When I compiled the SoundTouch sources using VS .NET 2003 and then using the subsequent SoundTouch.lib to build AviSynth CVS, I get the following errors:
Linking... msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in SoundTouch.lib(SoundTouch.obj) msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in SoundTouch.lib(SoundTouch.obj) msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in SoundTouch.lib(SoundTouch.obj) msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ) already defined in SoundTouch.lib(SoundTouch.obj) msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z) already defined in SoundTouch.lib(SoundTouch.obj) msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ) already defined in SoundTouch.lib(SoundTouch.obj) msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in SoundTouch.lib(SoundTouch.obj); second definition ignored msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in SoundTouch.lib(SoundTouch.obj); second definition ignored msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in SoundTouch.lib(SoundTouch.obj); second definition ignored msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const " (?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ) already defined in SoundTouch.lib(SoundTouch.obj); second definition ignored msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z) already defined in SoundTouch.lib(SoundTouch.obj); second definition ignored msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ) already defined in SoundTouch.lib(SoundTouch.obj); second definition ignored Creating library .\Release/avisynth.lib and object .\Release/avisynth.exp .\Release/avisynth.dll : fatal error LNK1169: one or more multiply defined symbols found I'm not terribly familiar with VS anything, so anyone else have any ideas? Thanks! |
4th May 2004, 18:03 | #82 | Link |
Avisynth 3.0 Developer
Join Date: Jan 2002
Location: France
Posts: 639
|
did you try to not link vs msvcprt.lib ?
It's weird anyway, as far as my understanding goes, I thought that STL code would not be exported from any lib... I suggest you try replacing VC7.1 standard library by STLPort from www.stlport.org (download and set it in your include path) and recompile. Last edited by Bidoche; 4th May 2004 at 18:41. |
14th May 2004, 18:52 | #84 | Link |
Avisynth 3.0 Developer
Join Date: Jan 2002
Location: France
Posts: 639
|
I think I got the solution this time :
Some guy posted about the same probleme in the forums at www.stlport.org. He finally fixed it by creating a empty project and importing his files into it, rather than using a conversion from VC6. |
4th July 2004, 22:03 | #86 | Link |
Moderator
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
|
I finally installed the professional edition (and the rest of the stuff). But, I also can't get it to work. When compiling I get the following message
Code:
--------------------Configuration: avisynth - Win32 Release-------------------- Linking... Creating library Release/avisynth.lib and object Release/avisynth.exp SoundTouch.lib(FIRFilter.obj) : fatal error LNK1202: "F:\CompilingPlugins\avisynth_oud\src\Release\vc60.pdb" is missing debugging information for referencing module Error executing link.exe. avisynth.dll - 1 error(s), 0 warning(s) Code:
/NODEFAULTLIB:libc ../distrib/lib/SoundTouch.lib ../distrib/lib/pfc.lib ../distrib/lib/devil.lib ../distrib/lib/softwire.lib msacm32.lib vfw32.lib kernel32.lib advapi32.lib version.lib user32.lib gdi32.lib ole32.lib uuid.lib winmm.lib oleaut32.lib Last edited by Wilbert; 4th July 2004 at 22:07. |
6th July 2004, 01:17 | #88 | Link | |
Avisynth Developer
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
|
@Wilbert
Quote:
Look in the [link] tabpane of properties/settings turn off symbols IanB |
|
9th July 2004, 18:33 | #92 | Link |
AviSynth Enthusiast
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
|
IIRC the debug DLL is couple megabytes in size... the release DLL is only several hundred kilobytes.
Clearly the release version is the one that's distributed. Awhile back, though, I couldn't get the debug DLL working... maybe that's what you're thinking of? |
21st July 2004, 22:08 | #95 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
I can confirm it is much easier to get AviSynth to compile now vs. the last time I tried , especially with vs.net. It worked pretty much straight away, converted to vc 7 project on load (first time that has never screwed up for me ). Few errors from the soundtouch lib, I didn't try IanB's suggestion for it but just compiled the soundtouch lib myself and everything worked fine. No errors on compiling avisynth, but 179 warnings... mainly all small stuff like type conversion - possible loss of data, no emms at end of asm function, etc... That was using vs.net 2002, directx 9 sdk, platform sdk, but I guess the directx sdk and platform sdk are no longer needed.
|
7th January 2005, 09:29 | #96 | Link |
Registered User
Join Date: Apr 2004
Posts: 4
|
I am trying to compile 2.5.5 sources (and I tried the old ones, the same error happens). I am getting errors in the convert_a.asm file. All of them look similar to this one:
convert_a.asm(258) : error A2070: invalid instruction operands YUV2RGB_INNER_LOOP(8): Macro Called From YUV2RGB_PROC(33): Macro Called From I am using VC7.1. Seeing the recent posts that mentions the SDKs are not necessary anymore, I did not install anything extra. Probably it is something very simple but even after reading all the posts in this thread, I am not seeing it (I am no good with asm). Any help is appreciated. |
7th January 2005, 13:40 | #97 | Link |
Registered User
Join Date: Oct 2001
Location: france
Posts: 521
|
afik,
people succeeded compiling avs 2.55 with vc6.x, not with vc7.X. esby
__________________
http://esby.free.fr/ |
7th January 2005, 16:39 | #98 | Link | |
Registered User
Join Date: Apr 2004
Posts: 4
|
Quote:
1- Install VC7.x 2- Download source. 3- Download ??? (if necessary) 4- Open project. 5- ??? 6- Build |
|
8th January 2005, 09:38 | #99 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
It is definitely possible, just did it last night . It should work fine as long as you have the Platform sdk installed. I'm not really sure if you need the directx sdk anymore or not (I think not). But for me it works fine just doing this:
1.) download source 2.) open workspace and convert to vc 7 project 3.) set configuration to release 4.) build project EDIT: About needing the platform sdk, I'm not sure if you do or don't. I have it installed and the above process works fine for me. Last edited by tritical; 8th January 2005 at 09:49. |
|
|