Compiling Libraries in C

This is a discussion on Compiling Libraries in C within the C Programming forums, part of the General Programming Boards category; Hello everyone! I'm working on a game and I need to build a DLL that compiles 3 libraries and runs ...

  1. #1
    Registered User
    Join Date
    Aug 2010
    Posts
    2

    Compiling Libraries in C

    Hello everyone! I'm working on a game and I need to build a DLL that compiles 3 libraries and runs a tempo extraction program using the libraries. I've taken a few cracks at compiling the tempo extraction program already, but I don't think I've linked the libraries correctly to do so. I really have very little experience with C, but I do need to write the DLL in C so I can access it from AS3.

    Here is the code:
    Code:
    // matlib.h
    #ifndef MATLIB_H
    #define MATLIB_H  
    
    
    
    #ifndef  REAL
    #	define REAL double
    #endif
    
    
    // TODO change gemm to cblas_rgemm sameting for others..
    #if REAL == double  //errors here
    #	define gemm cblas_dgemm 
    #	define gemv cblas_dgemv
    #	define cblas_rgemm cblas_dgemm
    #	define cblas_rcopy cblas_dcopy
    #	define mxIsReal mxIsDouble
    #else
    #	define gemm cblas_sgemm
    #	define gemv cblas_sgemv
    #	define cblas_rgemm cblas_sgemm
    #	define cblas_rcopy cblas_scopy
    #	define mxIsReal mxIsSingle
    #endif
    
    struct aspl_mat{
    	REAL * data;
    	int rs;
    	int cs;
    	int ld;
    	char owner; 
    };
    
    typedef struct aspl_mat aspl_mat;
    
    
    struct aspl_mda{ // multi dimentional array
    	REAL * data;
    	int nd;
    	int * sz;
    	char owner;
    };
    typedef struct aspl_mda aspl_mda;
    
    
    // void randMat( REAL *mat, const int m, const int n, const int stride );
    // void fillMat( REAL *mat, const int m, const int n, const int stride, REAL val );
    // void printMat( const REAL *mat, const int m, const int n, const int stride );
    // REAL* newMat( const int m, const int n );
    
    aspl_mat * newMat( const int rs, const int cs );
    aspl_mat * cpyMat( aspl_mat * mat );
    void freeMat( aspl_mat * mat );
    aspl_mat * fillMat( aspl_mat * mat, REAL val );
    aspl_mat * printMat( aspl_mat *mat );
    void infoMat( aspl_mat *mat );
    aspl_mat * randMat( aspl_mat *mat );
    aspl_mat * toMat( REAL* data, int rs, int cs, int ld );
    aspl_mat * absCMat( aspl_mat * abs, aspl_mat * mat );
    int getMatCount( );
    aspl_mat * sliceMat( aspl_mat * mat, int rowStart, int rowIncr, int rowCount, int colStart, int colIncr, int colCount );
    void plotRow( aspl_mat * mat, int maxChar );
    aspl_mat * transposeMat( aspl_mat * mat );
    void statsMat( aspl_mat * mat );
    
    
    aspl_mda * newMda( int nd, int * sz );
    aspl_mat * mda2mat( aspl_mda * mda, int freeMda );
    aspl_mda * readMda( const char * path );
    aspl_mda * mat2mda( aspl_mat * mat, int free_mat );
    void writeMda( const aspl_mda * mda, const char * path );
    void printMda( aspl_mda * mda );
    void infoMda( aspl_mda * mda );
    void freeMda( aspl_mda * mda );
    int numelMda( const aspl_mda * mda );
    
    void ewAdd( const aspl_mat * mat, const REAL a );
    void ewMul( const aspl_mat * mat, const REAL a );
    void ewTanh( const aspl_mat * mat );
    void ewSigmoid( const aspl_mat * mat );
    REAL maxMat( aspl_mat * mat );
    REAL minMat( aspl_mat * mat );
    
    
    aspl_mat * aspl_rgemm( 	enum CBLAS_TRANSPOSE transA, aspl_mat * A, 
    						enum CBLAS_TRANSPOSE transB, aspl_mat * B, 
    	   					REAL alpha, REAL beta, 	aspl_mat * C );
    #endif


    I'm getting a simple C1017 error, but I can't seem to give REAL a value at the proper place. My inexperience with C is preventing me from diagnosing exactly what this header SHOULD be doing, so I'm lost with exactly why it's not working.


    Would anyone here know some of steps that would enable me to build the DLL (ranging from linking the library to the tempo extraction program to building the DLL itself)? Any help would be greatly appreciated! Thanks!

  2. #2
    Registered User
    Join Date
    May 2009
    Posts
    2,553
    Code:
    #if REAL == double
    I suggest trying the below instead
    Code:
    #if sizeof(REAL) = sizeof(double)
    Tim S.

  3. #3
    Registered User
    Join Date
    May 2010
    Location
    Naypyidaw
    Posts
    1,314
    stahta01, That does not work since pre-processing is done before compiling.
    You can just do

    Code:
    #ifndef  REAL
    #define REAL double
    #endif
    
    
    // TODO change gemm to cblas_rgemm sameting for others..
    #ifdef REAL
    #define gemm cblas_dgemm 
    #define gemv cblas_dgemv
    #define cblas_rgemm cblas_dgemm
    #define cblas_rcopy cblas_dcopy
    #define mxIsReal mxIsDouble
    #else
    #define gemm cblas_sgemm
    #define gemv cblas_sgemv
    #define cblas_rgemm cblas_sgemm
    #define cblas_rcopy cblas_scopy
    #define mxIsReal mxIsSingle
    #endif
    And I'd suggest not to put space after #.

  4. #4
    Registered User
    Join Date
    Aug 2010
    Posts
    2
    Thank you both for the help! Bayint Naung, the code you posted solved the issue of giving REAL a value. Now when I try and build I'm getting C2065 undeclared identifier for almost every line of code. I suspect this has something to do with a library that hasn't been linked properly, but I'm not entirely sure. I also understand that this kind of error is obviously really quite specific to what the program is doing, but any and all help you could provide me with is greatly appreciated.

    Here is the error statement:

    Code:
    1>aspl.c
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(68) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(71) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(71) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(71) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(72) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(72) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(77) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(77) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(77) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(79) : warning C4013: 'cblas_dscal' undefined; assuming extern returning int
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(79) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(79) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(95) : error C2275: 'fftw_plan' : illegal use of this type as an expression
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\fftw\fftw3.h(343) : see declaration of 'fftw_plan'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(95) : error C2146: syntax error : missing ';' before identifier 'plan'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(95) : error C2065: 'plan' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(98) : warning C4047: '=' : 'int' differs in levels of indirection from 'fftw_plan'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(99) : error C2065: 'plan' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(99) : warning C4047: 'function' : 'const fftw_plan' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(99) : warning C4024: 'fftw_execute' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(100) : error C2065: 'plan' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(100) : warning C4047: 'function' : 'fftw_plan' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(100) : warning C4024: 'fftw_destroy_plan' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(148) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(149) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(149) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(149) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(150) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(165) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(166) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(167) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(168) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(173) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(174) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(175) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(176) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(186) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(187) : error C2065: 'n' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(191) : error C2065: 'n' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(205) : error C2143: syntax error : missing '{' before '*'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(205) : error C2371: 'melFiltBanq' : redefinition; different basic types
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.h(48) : see declaration of 'melFiltBanq'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(219) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(220) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(222) : error C2275: 'specFiltBanq' : illegal use of this type as an expression
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.h(46) : see declaration of 'specFiltBanq'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(222) : error C2065: 'mfb' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(223) : error C2065: 'mfb' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(223) : error C2223: left of '->size' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(224) : error C2065: 'mfb' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(224) : error C2223: left of '->banq' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(231) : error C2275: 'specFilt' : illegal use of this type as an expression
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.h(40) : see declaration of 'specFilt'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(231) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(231) : error C2065: 'hzIdxStart' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(231) : warning C4244: 'function' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(231) : error C2065: 'hzIdxStart' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(232) : error C2065: 'mfb' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(232) : error C2223: left of '->banq' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(232) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(233) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(233) : error C2065: 'hzIdxStart' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(241) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(241) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(241) : warning C4024: 'setFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(241) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(241) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(242) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(243) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(245) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(245) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(245) : warning C4024: 'setFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(245) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(245) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(245) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(246) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(248) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(248) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(248) : warning C4024: 'setFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(248) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(248) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(252) : error C2065: 'hzIdxStart' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(252) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : warning C4024: 'setFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : warning C4024: 'getFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(257) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(258) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(259) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(261) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(261) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(261) : warning C4024: 'setFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(261) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(261) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(261) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(262) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(264) : error C2065: 'sf' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(264) : warning C4047: 'function' : 'specFilt *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(264) : warning C4024: 'setFiltCoeff' : different types for formal and actual parameter 1
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(264) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(264) : error C2065: 'hzIdx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(276) : error C2065: 'mfb' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(276) : warning C4047: 'return' : 'int *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(284) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(285) : error C2275: 'specFilt' : illegal use of this type as an expression
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.h(40) : see declaration of 'specFilt'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(285) : error C2065: 'melFilt' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(286) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(286) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(286) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(287) : error C2065: 'melFilt' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(287) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(287) : warning C4047: '=' : 'int' differs in levels of indirection from 'specFilt *'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(289) : warning C4013: 'cblas_dgemv' undefined; assuming extern returning int
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(289) : error C2065: 'CblasRowMajor' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(289) : error C2065: 'CblasNoTrans' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(289) : error C2065: 'melFilt' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(289) : error C2223: left of '->size' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(290) : error C2065: 'melFilt' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(290) : error C2223: left of '->freqIdx' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(291) : error C2065: 'melFilt' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(291) : error C2223: left of '->filter' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(292) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(316) : error C2275: 'aspl_mat' : illegal use of this type as an expression
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.h(36) : see declaration of 'aspl_mat'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(316) : error C2065: 'spaceView' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\aspl.c(316) : fatal error C1003: error count exceeds 100; stopping compilation
    1>fastConv.c
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\fastconv.c(109) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\fastconv.c(110) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\fastconv.c(111) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\fastconv.c(112) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\fastconv.c(128) : fatal error C1083: Cannot open include file: 'arch/f1.cmda': No such file or directory
    1>matlib.c
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(92) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(93) : error C2065: 'maxCount' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(94) : error C2065: 'maxCount' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(95) : error C2065: 'maxCount' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(96) : error C2065: 'maxCount' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(97) : error C2065: 'maxCount' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(99) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(101) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(103) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(105) : error C2065: 'pMat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(105) : warning C4047: '=' : 'int' differs in levels of indirection from 'double *'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(106) : error C2065: 'pSliced' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(106) : error C2065: 'sliced' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(106) : error C2223: left of '->data' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(107) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(107) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(107) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(108) : warning C4013: 'cblas_dcopy' undefined; assuming extern returning int
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(108) : error C2065: 'pMat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(108) : error C2065: 'pSliced' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(109) : error C2065: 'pMat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(110) : error C2065: 'pSliced' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(110) : error C2065: 'sliced' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(110) : error C2223: left of '->ld' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(116) : error C2065: 'sliced' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(116) : warning C4047: 'return' : 'aspl_mat *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(122) : error C2275: 'aspl_mat' : illegal use of this type as an expression
    1>        c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.h(36) : see declaration of 'aspl_mat'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(122) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(123) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(123) : error C2223: left of '->data' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(124) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(124) : error C2223: left of '->rs' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(125) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(125) : error C2223: left of '->cs' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(126) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(126) : error C2223: left of '->ld' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(127) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(127) : error C2223: left of '->owner' must point to struct/union
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(129) : error C2065: 'mat' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(129) : warning C4047: 'return' : 'aspl_mat *' differs in levels of indirection from 'int'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(160) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(161) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(162) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(163) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(164) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(164) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(164) : error C2065: 'n' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(164) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(165) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(165) : error C2065: 'val' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(166) : error C2065: 'val' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(166) : error C2065: 'incr' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(173) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(174) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(174) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(174) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(175) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(175) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(175) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(176) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(176) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(201) : error C2065: 'MAXINT' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(214) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(215) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(216) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(216) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(216) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(217) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(217) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(217) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(218) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(218) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(218) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(219) : error C2065: 'j' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(219) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(219) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(219) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(220) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(220) : error C2065: 'idx' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(240) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(241) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(241) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(241) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(241) : error C2065: 'numel' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(241) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(242) : error C2065: 'numel' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(287) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(288) : error C2065: 'nRead' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(288) : error C2065: 'nd' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(288) : error C2065: 'nRead' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(292) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(292) : error C2065: 'sz' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(292) : warning C4047: '!=' : 'int' differs in levels of indirection from 'void *'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(293) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(294) : error C2065: 'szi' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(294) : error C2065: 'sz' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(294) : error C2065: 'szi' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(294) : error C2065: 'sz' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(294) : error C2065: 'nd' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(294) : error C2065: 'szi' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(295) : error C2065: 'nRead' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(295) : error C2065: 'szi' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(295) : error C2065: 'nRead' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(297) : error C2143: syntax error : missing ';' before 'type'
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(297) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(297) : error C2065: 'i' : undeclared identifier
    1>c:\users\kade\downloads\turboconvolutron-2000\turboconvolutron-2000\src\matlib.c(297) : fatal error C1003: error count exceeds 100; stopping compilation

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Linking libraries when compiling with g++ in ubuntu
    By Veni_Vidi_Vici in forum C++ Programming
    Replies: 1
    Last Post: 08-02-2010, 10:01 PM
  2. GCC: Compiling with both static and shared libraries
    By eatwithaspork in forum C Programming
    Replies: 4
    Last Post: 06-23-2008, 01:48 PM
  3. Trouble Compiling 1394 Development Libraries for Linux
    By Phanixis in forum Linux Programming
    Replies: 6
    Last Post: 10-05-2007, 10:48 AM
  4. Screwy Linker Error - VC2005
    By Tonto in forum C++ Programming
    Replies: 5
    Last Post: 06-19-2007, 02:39 PM
  5. Time libraries and funtions for Windows C Compiling
    By vmn_3k in forum C Programming
    Replies: 6
    Last Post: 08-14-2003, 01:24 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21