|
|
| ditsikts |
| Posted: May 1 2012, 08:28 AM |
 |
|
Newbie

Group: Members
Posts: 7
Member No.: 24299
Joined: 2-October 08

|
I have to make a project for my collage and I have to compile a part of the source code of the main program. I know that the source code is right but it was created before 2 years ago and now I believe that there is something wrong with the updated (DXSDK_Jun10); and with (Windows 7).
Error 1 error C2733: second C linkage of overloaded function '_interlockedbittestandset' not allowed C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\intrin.h 944 Error 2 error C2733: second C linkage of overloaded function '_interlockedbittestandreset' not allowed C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\intrin.h 945 Error 3 fatal error LNK1181: cannot open input file 'system.lib' Asuka Error 4 fatal error LNK1181: cannot open input file '..\..\lib\debug\system.lib' Ami Error 5 error PRJ0019: A tool returned an error code from "Compiling program resources...." VirtualDub
try to compile under windows 7 x64 using visual studio 2005 expess. How can I fix errors? |
 |
| levicki |
| Posted: May 9 2012, 07:40 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 167
Member No.: 22605
Joined: 13-December 07

|
If I remember correctly you need DirectShow SDK which is not shipping anymore with latest versions of DirectX.
Regarding the error with VS includes you can try to fix it by using an up to date version of the Visual Studio. |
 |
| phaeron |
| Posted: May 12 2012, 05:46 PM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
The very latest bleeding edge builds have some mitigations for this problem, but not the current releases.
The problems leading to this circumstance are as follows:
- I build VirtualDub off a fairly old set of SDKs. It's a mutt mix of the includes from the Windows Server 2003 R2 Platform SDK and the libs from the even older PSDK in the VS2005 Professional.
- The DirectShow headers migrated from the DirectX SDK to the Windows SDK, but there was a period of time when they were in neither.
- When the DirectShow headers were moved into the Windows SDK, a critical header was left out (qedit.h), which is used to access the Sample Grabber.
- The later versions of the Windows SDK added declarations to winnt.h that conflict with the intrinsic definitions in intrin.h for older versions of Visual C++.
What a mess. 
The solution to the specific problem you've got here is hacky but functional. What you want to do is modify the definition in winnt.h to match the one in intrin.h and thus for your version of the compiler. I did this by backing up winnt.h and modifying it directly, but a cleaner fix for you might be to copy it to the VirtualDub include path -- src\h -- and modifying that copy locally. I forget the exact difference, but I think it may have been adding or removing the "volatile" keyword.
Oh, and one more thing I should add: if you are building with a newer version of the SDK, the minimum system requirements for the build you have created will rise because of changed definitions in the SDK. With the Windows 7 SDK, I think you will lose Windows 98 and Windows 2000 compatibility. |
 |
| Krig |
| Posted: Sep 25 2012, 02:30 PM |
 |
|
Newbie

Group: Members
Posts: 1
Member No.: 35484
Joined: 25-September 12

|
Hi!
I can't compile VirtualDud v1.10.3-test. I receive many errors at attempt build of module "VDCapture":
| CODE | ------ Build started: Project: VDCapture, Configuration: Release Win32 ------ ... Asuka: Compilation was successful. Compiling... stdafx.cpp Compiling... ScreenGrabberGL.cpp c:\=PROJECT=\VirtualDub-1.10.3-test7-src\src\h\vd2/VDCapture/ScreenGrabberGL.h(51) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\=PROJECT=\VirtualDub-1.10.3-test7-src\src\h\vd2/VDCapture/ScreenGrabberGL.h(51) : error C2143: syntax error : missing ',' before '&' .\source\ScreenGrabberGL.cpp(372) : error C2065: 'CURSORINFO' : undeclared identifier .\source\ScreenGrabberGL.cpp(372) : error C2146: syntax error : missing ';' before identifier 'ci' .\source\ScreenGrabberGL.cpp(372) : error C2065: 'ci' : undeclared identifier .\source\ScreenGrabberGL.cpp(372) : error C2059: syntax error : '{' .\source\ScreenGrabberGL.cpp(372) : error C2143: syntax error : missing ';' before '{' .\source\ScreenGrabberGL.cpp(372) : error C2070: ''unknown-type'': illegal sizeof operand .\source\ScreenGrabberGL.cpp(372) : error C2143: syntax error : missing ';' before '}' .\source\ScreenGrabberGL.cpp(376) : error C2039: 'GetCursorInfo' : is not a member of '`global namespace'' ... VDCapture - 68 error(s), 0 warning(s) |
VirtualDud v1.10.2-test build successfully - no problems. 
How can I fix errors?
I use Visual Studio 2005 with installed Microsoft DirectX SDK (August 2009) and SDK for Windows 7 and .NET Framework 3.5 SP1. ---------------------------------
Thanks, problem has solved. |
 |
| phaeron |
| Posted: Sep 29 2012, 10:37 PM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
???
Windows.h is included in that header, and CURSORINFO comes from winuser.h. How did it not get defined? |
 |