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. |
5th August 2003, 18:38 | #42 | Link |
Registered User
Join Date: Apr 2003
Posts: 49
|
I have installed DXSDK, but now I got these errors:
Linking... Creating library Profile/avisynth.lib and object Profile/avisynth.exp softwire_helpers.obj : error LNK2001: unresolved external symbol "public: void * __thiscall SoftWire::Assembler::acquire(void)" (?acquire@Assembler@SoftWire@@QAEPAXXZ) ..... avisynth.dll - 79 error(s), 0 warning(s) Please help. Last edited by tempetai; 6th August 2003 at 19:35. |
6th August 2003, 09:13 | #44 | Link |
Registered User
Join Date: Apr 2003
Posts: 49
|
I've add the avisynth\distrib\include and lib into directories tab. But still no different. But I notice some improvement when I put softwire.lib and devil.lib into link tab of project preference. The error turn to 65 from 79. But still a lot of error.
Please help. Last edited by tempetai; 6th August 2003 at 20:07. |
7th August 2003, 07:34 | #46 | Link | |
Avisynth Developer
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
|
Quote:
The standard profiles are :- "Win32 Debug" does a full debug build and uses debug versions of the libraries. (Maximum checking, slower, development) "Win32 Profile" does a release style build but links with profiling libraries. (check with Sh0dan how to make use of these tools) "Win32 Release" does a full release build and uses full release grade libraries. (Maximum speed, for normal use) IanB Last edited by IanB; 7th August 2003 at 07:51. |
|
8th August 2003, 08:54 | #48 | Link |
Retired AviSynth Dev ;)
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
|
@IanB: Actually I have never used the "Profile Configuration". For profiling, it is possible to use the Release builds. I don't know who created the Profile Conf, but it just left it there, if anyone uses it.
It should probably just be removed, unless someone objects. Yes - SoftWire rocks!
__________________
Regards, sh0dan // VoxPod |
22nd September 2003, 21:10 | #51 | Link | |
C64
Join Date: Apr 2002
Location: Austria
Posts: 830
|
We should mention here what sh0dan wrote as CVS comment:
Quote:
DXF\DXSDK\samples\Multimedia\DirectShow\BaseClasses in the DX-SDK is meant ( I was desparately seeking in the CVS directories ) But anyhow: it won't compile, there are many warnings and some LINKER errors: Code:
strmbase.lib(dllentry.obj) : error LNK2005: _DllGetClassObject@12 bereits in main.obj definiert strmbase.lib(dllentry.obj) : error LNK2005: _DllCanUnloadNow@0 bereits in main.obj definiert strmbase.lib(dllentry.obj) : warning LNK4006: _DllGetClassObject@12 bereits in main.obj definiert; zweite Definition wird ignoriert strmbase.lib(dllentry.obj) : warning LNK4006: _DllCanUnloadNow@0 bereits in main.obj definiert; zweite Definition wird ignoriert Bibliothek Release/avisynth.lib und Objekt Release/avisynth.exp wird erstellt LINK : warning LNK4098: Standardbibliothek "LIBC" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden strmbase.lib(dllsetup.obj) : error LNK2001: Nichtaufgeloestes externes Symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A) strmbase.lib(dllentry.obj) : error LNK2001: Nichtaufgeloestes externes Symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A) strmbase.lib(dllsetup.obj) : error LNK2001: Nichtaufgeloestes externes Symbol "int g_cTemplates" (?g_cTemplates@@3HA) strmbase.lib(dllentry.obj) : error LNK2001: Nichtaufgeloestes externes Symbol "int g_cTemplates" (?g_cTemplates@@3HA) Last edited by WarpEnterprises; 22nd September 2003 at 21:25. |
|
24th September 2003, 16:05 | #52 | Link |
Retired AviSynth Dev ;)
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
|
Yeah - I had troubles with that one too. I seem to remember I fould an old strmbase.lib (strmbasd.lib in debug mode) somewhere else in my library path. Be sure to only have the one in
DXSDK\samples\Multimedia\DirectShow\BaseClasses\Debug and DXSDK\samples\Multimedia\DirectShow\BaseClasses\Release referenced, and be sure to add both to your Tools/Options/Directories/Libraries I hate the black voodoo with C compilers - especailly linker errors. Unfortunately I can only say that it also took me a few hours to get this compiling on my second machine.
__________________
Regards, sh0dan // VoxPod |
13th November 2003, 23:11 | #55 | Link |
C64
Join Date: Apr 2002
Location: Austria
Posts: 830
|
has someone else compiled a recent AviSynth version?
I made those libs but still no luck. now it complains about missing baseclasses in ctlutil.h and many more things. I can understand that sh0dan can't remember all steps if it is working but everbody else should have the same problem. I made a clean setup of my system and the problems were quite the same. |
14th November 2003, 00:03 | #56 | Link |
Registered User
Join Date: Nov 2001
Posts: 291
|
@ WarpEnterprises
@ sh0dan quote: ------------------------------------------------------- has someone else compiled a recent AviSynth version? ------------------------------------------------------- Yes I've compiled but with some difficulties too. select in tools - Directories -Library files - C:\PROGRAM FILES\MICROSOFT SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES\RELEASE when you compile in release mode...etc I've got a usefull dll but I've still a lot of warnings; mainly with avisynth_c.cpp 35 warning C4273:: inconsistent dll linkage.dllexport assumed. 2 MICROSOFT SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES\ combase.h(245) : warning C4717: '_imp__InterlockedIncrement' : recursive on all control paths, function will cause runtime stack overflow and avisynth_c.cpp(301) : warning C4700: local variable 'val' used without having been initialized. I've searched in google for these warnings and there are a lot of information. But I must confess I was too lazy to read and look for the solution. And probably it is a basic matter I don't know Once more I hope sh0dan could come in our help to understand why all these warnings. Oh! THANKS AGAIN sh0dan ! for last released ! Thanks in advance ARDA |
17th November 2003, 00:14 | #57 | Link |
C64
Join Date: Apr 2002
Location: Austria
Posts: 830
|
With the latest CVS I cannot even get to linking.
- I compiled the strmbase.lib / strmbasd.lib - I added the directories to VC - compiling avi_source.cpp works - compiling directshow_source.cpp won't work, the first errors come from the <streams.h> include: Code:
c:\programme\microsoft sdk\samples\multimedia\directshow\baseclasses\wxutil.h(530) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR' c:\programme\microsoft sdk\samples\multimedia\directshow\baseclasses\ctlutil.h(437) : error C2504: 'IBasicVideo2' : Basisklasse undefiniert Am I right that at this point the LIB is not even used? |
17th November 2003, 10:46 | #58 | Link | |
Retired AviSynth Dev ;)
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
|
Quote:
The Directshow warning (_imp__InterlockedIncrement) is unavoidable, but doesn't mean anything. I guess it could be avoided using a #pragma. @WarpE: I haven't experienced that problem (and you're right - only the header files are used at this stage). I sound quite incredible that it doesn't know what DWORD_PTR is.
__________________
Regards, sh0dan // VoxPod Last edited by sh0dan; 17th November 2003 at 10:48. |
|
18th November 2003, 23:37 | #59 | Link |
C64
Join Date: Apr 2002
Location: Austria
Posts: 830
|
I am so happy now..
It works!
Here is what I did. - there are some .H files in the MS Visual Studio AND the MS SDK directory, with the ones in the SDK beeing the newer and intended. - I removed the ...Visual Studio... dirs from the header directories (extras/options...) but some .H-files are NOT present in the SDK ==> There have to be BOTH entries but the SDK paths and the path to ...SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES\DEBUG must come BEFORE the ...Visual Studio paths (for both compiling strmbasd.lib AND AviSynth) to have higher search priority. Then all you have to do is hoping that all newer .H and .LIB are present and no old one is accidently taken. My paths are then: header directories: C:\Programme\Microsoft SDK\Include c:\PROGRAMME\MICROSOFT SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES C:\Programme\Microsoft Visual Studio\VC98\INCLUDE C:\Programme\Microsoft Visual Studio\VC98\MFC\INCLUDE (needed. What is MFC in AviSynth?) C:\Programme\Microsoft Visual Studio\VC98\ATL\INCLUDE (not needed for AviSynth) library directories: C:\Programme\Microsoft SDK\Lib c:\PROGRAMME\MICROSOFT SDK\SAMPLES\MULTIMEDIA\DIRECTSHOW\BASECLASSES\DEBUG C:\Programme\Microsoft Visual Studio\VC98\LIB C:\Programme\Microsoft Visual Studio\VC98\MFC\LIB (not needed for AviSynth) Hope this helps and is reproducable. |
30th January 2004, 18:43 | #60 | Link | ||||
Registered User
Join Date: Oct 2002
Posts: 462
|
WarpEnterprises wrote two interesting questions that were never answered as far as I can tell on this thread.
Quote:
Quote:
If I compile strmbase.lib with /MT, my linker wants me to use the same threading scheme with avisynth. Is this right, or do different modules within avisynth need to link with different versions of the runtime? I would like to see this sticky continue to grow. New compilation issues that crop up on every new version of avisynth. Yet nothings been discussd on this thread since lase November. For instance, I had to comment out two lines in the code to get it to compile: Quote:
Quote:
Finally, are the two files avisynth.opt and avisynth.ncb somehow nessesary to properly compile avisynth? Since I only use the commandline tools, cl.exe, ml.exe, rc.exe, and link.exe, I am not sure whether those files are being used in my compilation. This works fine for standalone filters, but I am still not sure if it works for avisynth itself. Stephen |
||||
Thread Tools | Search this Thread |
Display Modes | |
|
|