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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 3rd May 2004, 22:56   #81  |  Link
ada2001
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!
ada2001 is offline   Reply With Quote
Old 4th May 2004, 18:03   #82  |  Link
Bidoche
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.
Bidoche is offline   Reply With Quote
Old 6th May 2004, 21:14   #83  |  Link
ada2001
Registered User
 
Join Date: Apr 2004
Posts: 3
Yeah, it's deeply wierd. I had tried unlinking msvcprt.lib and it really messed things up so I figured the previous errors were probably easier to fix. When I get some time, I'll start looking at this again.
ada2001 is offline   Reply With Quote
Old 14th May 2004, 18:52   #84  |  Link
Bidoche
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.
Bidoche is offline   Reply With Quote
Old 1st June 2004, 05:03   #85  |  Link
scmccarthy
Registered User
 
Join Date: Oct 2002
Posts: 462
I can compile AviSynth, but VirtualDubMod gives me an avi import filter error and windows media player complains the class is not registered.

Stephen
scmccarthy is offline   Reply With Quote
Old 4th July 2004, 22:03   #86  |  Link
Wilbert
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)
The link settings:
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
What am I doing wrong?

Last edited by Wilbert; 4th July 2004 at 22:07.
Wilbert is offline   Reply With Quote
Old 4th July 2004, 22:37   #87  |  Link
stickboy
AviSynth Enthusiast
 
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
I've been getting the same problem trying to build the Release version...
stickboy is offline   Reply With Quote
Old 6th July 2004, 01:17   #88  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
@Wilbert
Quote:
What am I doing wrong?
Nothing! The release SoundTouch library has been built without symbols (DAMN!!) You will have to build release avisynth.dll without symbols until some kind soul rebuilds it and puts it in CVS.

Look in the [link] tabpane of properties/settings turn off symbols

IanB
IanB is offline   Reply With Quote
Old 6th July 2004, 20:26   #89  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
Sorry, I can't find that option

Somewhere under Project -> Settings -> C/C++ -> Preprocessor -> check "Undefine all symbols"

I guess that's the wrong one, because that doesn't work.
Wilbert is offline   Reply With Quote
Old 7th July 2004, 05:55   #90  |  Link
stickboy
AviSynth Enthusiast
 
Join Date: Jul 2002
Location: California, U.S.
Posts: 1,267
In MSVC6:
Project > Settings > Link > Debug, uncheck "Debug info".
stickboy is offline   Reply With Quote
Old 9th July 2004, 15:50   #91  |  Link
scmccarthy
Registered User
 
Join Date: Oct 2002
Posts: 462
A thought, must AviSynth be compiled only as a debug release? Does it work as a regular release?

Stephen
scmccarthy is offline   Reply With Quote
Old 9th July 2004, 18:33   #92  |  Link
stickboy
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?
stickboy is offline   Reply With Quote
Old 9th July 2004, 18:39   #93  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
Just crab the latest source from CVS. It works now (release build) without doing anything special. Sh0dan updated the project file a few days ago.
Wilbert is offline   Reply With Quote
Old 18th July 2004, 04:12   #94  |  Link
scmccarthy
Registered User
 
Join Date: Oct 2002
Posts: 462
I continue to get the same Windows Media Player error:
Quote:
Class not registered (Error=80040154)
Stephen
scmccarthy is offline   Reply With Quote
Old 21st July 2004, 22:08   #95  |  Link
tritical
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.
tritical is offline   Reply With Quote
Old 7th January 2005, 09:29   #96  |  Link
tolgae
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.
tolgae is offline   Reply With Quote
Old 7th January 2005, 13:40   #97  |  Link
esby
Registered User
 
esby's Avatar
 
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/
esby is offline   Reply With Quote
Old 7th January 2005, 16:39   #98  |  Link
tolgae
Registered User
 
Join Date: Apr 2004
Posts: 4
Quote:
Originally posted by esby
afik,
people succeeded compiling avs 2.55 with vc6.x, not with vc7.X.


esby
The post right above mine (from tritical) indicates it is possible to compile with VC7.x. I was hoping a step-by-step guide on how to do it, like

1- Install VC7.x
2- Download source.
3- Download ??? (if necessary)
4- Open project.
5- ???
6- Build
tolgae is offline   Reply With Quote
Old 8th January 2005, 09:38   #99  |  Link
tritical
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.
tritical is offline   Reply With Quote
Old 8th January 2005, 22:19   #100  |  Link
WarpEnterprises
C64
 
WarpEnterprises's Avatar
 
Join Date: Apr 2002
Location: Austria
Posts: 830
the DX SDK is not necessary. It was needed only for DirectShowSource which is now a plugin.
WarpEnterprises is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.