7 Replies Latest reply on Mar 30, 2011 9:05 AM by dragonxi4amd

    AMD/ATI SKD cal_d3d10_interop.cpp CHALLENGES - SOLVED

      Let smart software solve your problems


      Thanks to all those guys who gave advice !

      For a 64-bit app, 64-bit CPU, 64-bit OS and with 64-bit libs defined software should NOT give up due to one 32-bit lib but instead TRY to find a 64-bit lib ! 

      The smart software not only tries but it also solves the problem - boosted !   

        • PROBLEM WITH AMD/ATI SKD program al_d3d10_interop.cpp

          Please details of your system: CPU,GPU,Driver and Directx version & OS.

          Have you modified some of the properties this project? You can uninstall and reinstall the SDK sample package and see if it solved the problem.

            • PROBLEM WITH AMD/ATI SKD program al_d3d10_interop.cpp

              Thanks for your answer!

              Details of the system:

              Platform Version: OpenCL 1.1 ATI-Stream-v2.3 (451)

              CAL version

              Found (by Ati SDK): 1.4.900 

              GPU: ATI RV770 <-- OK

              - vendor Advanced Micro Devices, Inc.

              CPU: AMD Phenom(tm) II X4 955 Processor <-- OK

              - vendor: AuthenticAMD 

              DirectX SDK: 9.29.1962 <-- OK ???

              ref: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba


              - 64-bit Windows 7 <-- OK


              - none, see my Notes

              Uninstallalling & Reinstalling

              - yes, did not help !

              Notes and Questions

              * cal_d3d10_interop.cpp is the only AMD program with problems !

              + all other demo programs - OpenCL & CAL -  work both under Studio

                 and also in command mode !

              <=> environment should be mostly ok !

              <=> there's got to be something special in this one program, is it DirecX ? 

              ? what is the email of cal_d3d10_interop.cpp writer(s) ? <-- UNRESOLVED!

              ? what are the requirements of cal_d3d10_interop.cpp <-- UNRESOLVED!


              a) other software versions - for example is the latest DirectX not ok?<-- -

              - UNRESOLVED!

              b) include file versions - for example related to Khronos ones ?

              - UNRESOLVED!

              c) library version - for example OpenGL which comes with Windows 7 ?

              - UNRESOLVED!

              Thanks in advance!




                  It looks like problem is with visual studio properties.


                  Could you please try following and let me know whether you are able to compile the sample or not?

                      1. Move to samples\cal\cal_d3d10_interop

                      2. Open cal_d3d10_interop.vcproj instead of cal_d3d10_interop.vcxproj

                      3. Compile and run



                    • PROBLEM WITH AMD/ATI SKD program al_d3d10_interop.cpp

                      Thanks for your advice !

                      see Questions and Explored Setting 31th of March 2011

                        • PROBLEM WITH AMD/ATI SKD program al_d3d10_interop.cpp

                          Well that's a lot of data.

                          On what source basis you changed the properties in visual studio? It is generally not required.

                          Can you try running the sample with vs 2008.

                          Are you able to run the prebuilt binary of the sample located at $(ATISTREAMSDKSAMPLESROOT\AMDAPPSDKSAMPLESROOT)\samples\cal\bin.

                          Another alternate can be to try compiling the code using cygwin or minGW.

                            • PROBLEM WITH AMD/ATI SKD program al_d3d10_interop.cpp

                              > 1>------ Build started: Project: cal_d3d10_interop, Configuration: Debug Win32 ------

                              > Library Directories
                              > was: $(ATISTREAMSDKROOT)\lib;%(AdditionalLibraryDirectories)
                              > updated to: "D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64";E:\ATI\lib\x86_64;K:\sw\microsoft\directx\Lib\x64;$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;


                              Looks like you are mixing 32- and 64-bit libraries.


                                • UNRESOLVED - AMD SDK/cal_d3d10_interop.cpp and MSVCR100D.DLL




                                  WHICH SETTINGS OF MS VISUAL STUDIO  ARE WRONG BELOW?





                                  $(VCInstallDir)atlmfc\include;$(FrameworkSDKDir)\include; $(WindowsSdkDir)include; 

                                  + OK: found all include files it needed 
                                  - ERROR *** msvcprtd.lib(MSVCP100D.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64
                                  ! note: Debug x64 was on 

                                  C/C++ Preprocessor Definitions
                                  45 WIN32;
                                  46 _DEBUG;
                                  47 _WINDOWS;
                                  48 ATI_OS_VISTA;
                                  49 ATI_OS_WIN; [45-50] <-- set only this - no effect!
                                  50 %(PreprocessorDefinitions)

                                  C/C++ Code Generation
                                  51 Basic Runtime Checks: Both (/RTC1, equiv. to /RTCsu) (/RTC1)
                                  52 Runtime Library: Multi-threaded Debug DLL (/MDd)

                                  C/C++ Command Line
                                  53 I"E:\ATI\\samples\cal\common"
                                  54 I"D:\Program Files (x86)\ATI Stream\\include"
                                  55 I"D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"
                                  56 I"E:\ATI\include\CL" /I"K:\sw\microsoft\directx\Include"
                                  57 I"D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"
                                  58 I"D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include"
                                  59 I"D:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include"
                                  60 I"D:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\\include" /Zi /nologo /W3 /WX- /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "ATI_OS_VISTA" /D "ATI_OS_WIN" /D "_CRT_SECURE_NO_DEPRECATE" /Gm /EHsc /RTC1 /MDd /GS /fprecise /Zc:wchar_t /Zc:forScope /Fp"x64\Debug\cal_d3d10_interop.pch" /Fa"x64\Debug\" /Fo"x64\Debug\" /Fd"x64\Debug\vc100.pdb" /Gd /analyze /errorReportueue

                                  Linker Additional Library Directories
                                  61 $(ATISTREAMSDKROOT)\lib;
                                  62 "\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64";
                                  63 E:\ATI\lib\x86_64;
                                  64 K:\sw\microsoft\directx\Lib\x64;
                                  65 $(VCInstallDir)lib;
                                  66 $(VCInstallDir)atlmfc\lib;
                                  67 $(WindowsSdkDir)lib;        <-- kernel32.lib in D:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64\Kernel32
                                  68 $(FrameworkSDKDir)\lib;
                                  69 %(AdditionalLibraryDirectories)

                                  Used: $(WindowsSdkDir)lib;


                                  "\Program Files (x86)\Microsoft Visual Studio10.0\VC\lib\amd64";




                                  LINK : msvcprtd.lib(MSVCP100D.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

                                  Search in web:

                                  ξ »C Run-Time Libraries by Microsoft
                                  msvcrtd.lib = Multithreaded, dynamic link (import library for MSVCR100D.DLL) (debug)
                                  Option: /MDd Preprocessor directives: _DEBUG, _MT, _DLL
                                  The msvcrt.dll is now a "known DLL," meaning that it is a system component owned and built by Windows. It is intended for future use only by system-level components.
                                  If you have a .lib or .obj file that needs to link to msvcrt.lib, then you should not have to recompile it to work with the new msvcrt.lib in Visual C++ 2010.
                                  The .lib or .obj file may rely on the sizes, field offsets, or member function names of various CRT classes or variables, and those should all still exist in a compatible way.
                                  When you relink against msvcrt.lib, your final EXE and DLL image will now have a dependency on msvcr100.dll instead of msvcrt.dll.
                                  D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64\msvcrtd.lib <-- this seems to be 64-bit !