Skip to Content
avatar image
Former Member

Missing CrystalDecisions.CrystalReports.Engine.dll in Build

I am attempting to build my application that uses the Crystal Reports API, and the command line build is barfing on a missing DLL:

        cl -I.  -I.././IDL -I.././Infrastructure -Ic:\dev\iona\include -Ic:\dev\SourcePro -nologo -W3 -GR -vmg -Od -MD -Zi -Zm200 -DWIN32 -DWIN32_LEAN_AND_MEAN

-DVERSANT_ANSI -D_CRT_SECURE_NO_DEPRECATE -D_AFXDLL /clr /AI c:\dev\BusinessObjects\Common\4.0\managed  -DNDEBUG  -DIT_USE_STD_IOSTREAM -DORBIX_DLL   -D_RWCONFIG=12d -D_CONSOLE  -c main.cpp

main.cpp

c:\dev\sources\videoview_6_8-merge\video\nextlink\reportfaxservice\NReportFaxServiceImpl.h(15) : fatal error C1107: could not find assembly 'CrystalDecisions.CrystalReports.Engine.dll': please specify the assembly search path using /AI or by setting the LIBPATH environment variable

NMAKE : fatal error U1077: 'c:\dev\VisualStudio\VC\bin\cl.EXE' : return code '0x

2'

Stop.

I have a machine that appears to have that DLL in the location specified by the /AI directive, but on this machine (and several other new machines we have build and installed Visual Studio and Crystal Reports on), the DLL is not in that location.

Is there a different DLL that I should be using instead of that one?  When I rip out references to that assembly (by removing the #using directives that reference those modules), then I get these errors:

        cl -I.  -I.././IDL -I.././Infrastructure -Ic:\dev\iona\include -Ic:\dev\SourcePro -nologo -W3 -GR -vmg -Od -MD -Zi -Zm200 -DWIN32 -DWIN32_LEAN_AND_MEAN -DVERSANT_ANSI -D_CRT_SECURE_NO_DEPRECATE -D_AFXDLL /clr /AI c:\dev\BusinessObjects\Common\4.0\managed  -DNDEBUG  -DIT_USE_STD_IOSTREAM -DORBIX_DLL   -D_RWCONFIG=12d -D_CONSOLE  -c main.cpp

main.cpp

c:\dev\sources\videoview_6_8-merge\video\nextlink\reportfaxservice\NReportFaxServiceImpl.h(133) : error C2061: syntax error : identifier 'ReportDocument'

c:\dev\sources\videoview_6_8-merge\video\nextlink\reportfaxservice\NReportFaxServiceImpl.h(136) : error C2061: syntax error : identifier 'ReportDocument'

NMAKE : fatal error U1077: 'c:\dev\VisualStudio\VC\bin\cl.EXE' : return code '0x

2'

Which occurs on these declarations:

    void createPDF(

              ReportDocument^ rpt,

              String^ destinationString);

    void printReport(

              ReportDocument^ rpt,

              String^ destinationString);

Where is ReportDocument, if it's not in CrystalDecisions.CrystalReports.Engine.dll.  These are the relevant lines that I commented out:

// #using <CrystalDecisions.CrystalReports.Engine.dll>

// #using <CrystalDecisions.Shared.dll>

// using namespace CrystalDecisions::Shared;

// using namespace CrystalDecisions::CrystalReports::Engine;

Thanks.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Best Answer
    Jul 19, 2012 at 01:57 PM

    What version of CR?

    What version of .NET?

    Commenting out the engine will not work. You're pretty well removing the core part of the CR APIs when you do that.

    Does the app compile? Does it run? If it does, the engine assembly is being found. What happens if as a test you simply build off of the menu?

    - Ludek

    Follow us on Twitter

    Got Enhancement ideas? Try the SAP Idea Place

    Share Your Knowledge in SCN Topic Spaces

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Daniel Paulsen

      Good to know that Crystal Reports for Visual Studio 2010 won't have this problem.  We'll upgrade to that environment soon.

      As far as our current configuration, it appears that if we compile like so, it compiles and links:

              cl -I.  -I.././IDL -I.././Infrastructure -Ic:\dev\iona\include -Ic:\dev\SourcePro -nologo -W3 -GR -vmg -Od -MD -Zi -Zm200 -DWIN32 -DWIN32_LEAN_AND_MEAN -DVERSANT_ANSI -D_CRT_SECURE_NO_DEPRECATE -D_AFXDLL /clr /AI c:\dev\BusinessObjects\Common\4.0\managed /AI c:\dev\BusinessObjects\Common\4.0\managed\dotnet2  -DNDEBUG  -DIT_USE_STD_IOSTREAM -DORBIX_DLL   -D_RWCONFIG=12d -D_CONSOLE  -c main.cpp

      main.cpp

      Notice I have now included two /AI parameters: one for the managed directory and one for the managed/dotnet2 directory.

      Now that the code is compiling and linking, I'll configure our QA environment this way, and go through some runtime testing.  If the runtime testing works, this configuration should work fine.  I can tweak out build files to add that second /AI parameter, and then we won't have to manually manipulate the Crystal Reports configuration.

      Thanks.