编译会出现如下错误。
但是对应的函数已经查过都没错。我实在想不到解决方案,请各位大虾请教。
Linking...
lazy_wavelet_int.obj : error LNK2001: unresolved external symbol _QccVectorIntCopy
lifting_int.obj : error LNK2001: unresolved external symbol _QccVectorIntCopy
lazy_wavelet_int.obj : error LNK2001: unresolved external symbol _QccVectorIntFree
lifting_int.obj : error LNK2001: unresolved external symbol _QccVectorIntFree
wavelet_analysis_synthesis_int.obj : error LNK2001: unresolved external symbol _QccVectorIntFree
lazy_wavelet_int.obj : error LNK2001: unresolved external symbol _QccVectorIntAlloc
lifting_int.obj : error LNK2001: unresolved external symbol _QccVectorIntAlloc
wavelet_analysis_synthesis_int.obj : error LNK2001: unresolved external symbol _QccVectorIntAlloc
SPIHT3D.OBJ : error LNK2001: unresolved external symbol "void __cdecl QccWAVSubbandPyramid3DIntFree(struct QccWAVSubbandPyramid3DInt *)" (?QccWAVSubbandPyramid3DIntFree@@YAXPAUQccWAVSubbandPyramid3DInt@@@Z)
SPIHT3D.OBJ : error LNK2001: unresolved external symbol "int __cdecl QccWAVSubbandPyramid3DIntAlloc(struct QccWAVSubbandPyramid3DInt *)" (?QccWAVSubbandPyramid3DIntAlloc@@YAHPAUQccWAVSubbandPyramid3DInt@@@Z)
SPIHT3D.OBJ : error LNK2001: unresolved external symbol "int __cdecl QccWAVSubbandPyramid3DIntInitialize(struct QccWAVSubbandPyramid3DInt *)" (?QccWAVSubbandPyramid3DIntInitialize@@YAHPAUQccWAVSubbandPyramid3DInt@@@Z)
SPIHT3D.OBJ : error LNK2001: unresolved external symbol "int __cdecl QccWAVSubbandPyramid3DIntDWT(struct QccWAVSubbandPyramid3DInt *,int,int,int,int)" (?QccWAVSubbandPyramid3DIntDWT@@YAHPAUQccWAVSubbandPyramid3DInt@@HHHH@Z)
SPIHT3D.OBJ : error LNK2001: unresolved external symbol "int __cdecl QccWAVSubbandPyramid3DIntSubtractMean(struct QccWAVSubbandPyramid3DInt *,int *)" (?QccWAVSubbandPyramid3DIntSubtractMean@@YAHPAUQccWAVSubbandPyramid3DInt@@PAH@Z)
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccVolumeIntAlloc
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccVolumeIntFree
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccWAVSubbandPyramid3DNumLevelsToNumSubbandsDyadic
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccWAVSubbandPyramid3DNumSubbandsToNumLevelsDyadic
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccWAVSubbandPyramid3DCalcLevelFromSubbandDyadic
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccFileClose
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccFileReadInt
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccFileSkipWhiteSpace
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccFileWriteInt
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccVolumeIntCopy
subband_pyramid3D_int.obj : error LNK2001: unresolved external symbol _QccVolumeIntMean
subband_pyramid_int.obj : error LNK2001: unresolved external symbol _QccMatrixIntAlloc
subband_pyramid_int.obj : error LNK2001: unresolved external symbol _QccMatrixIntFree
test.obj : error LNK2001: unresolved external symbol "int __cdecl QccIMGImageCubeReadData(struct QccIMGImageCube *)" (?QccIMGImageCubeReadData@@YAHPAUQccIMGImageCube@@@Z)
Debug/spiht3d.exe : fatal error LNK1120: 22 unresolved externals
Error executing link.exe.
spiht3d.exe - 28 error(s), 0 warning(s)
对应的头文件如下:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define QCCSTRINGLEN 1200
typedef char QccString[QCCSTRINGLEN + 1];
typedef int *QccVectorInt;//060813因为图象象素是整型
typedef QccVectorInt *QccMatrixInt;
typedef QccMatrixInt *QccVolumeInt;
/*phase*/
#define QCCWAVWAVELET_PHASE_EVEN 0
#define QCCWAVWAVELET_PHASE_ODD 1
/*type of wavelet_int*/
#define WAVNULL 0
#define QCCWAVLIFTINGSCHEME_IntLWT 1
#define QCCWAVLIFTINGSCHEME_IntCohenDaubechiesFeauveau9_7 2
#define QCCWAVLIFTINGSCHEME_IntCohenDaubechiesFeauveau5_3 3
#define QCC_INT_SIZE 4
#define QccFree(p) (p != NULL) ? free(p):(void)0, (p) = NULL
……
/*vector*/
QccVectorInt QccVectorIntAlloc(int vector_dimension);
int QccVectorIntCopy(QccVectorInt vector1,
const QccVectorInt vector2,
int vector_dimension);
void QccVectorIntFree(QccVectorInt vector);
/*Matrix*/
QccMatrixInt QccMatrixIntAlloc(int num_rows,
int num_cols);
void QccMatrixIntFree(QccMatrixInt matrix,
int num_rows);
double QccMatrixIntMean(const QccMatrixInt matrix,
int num_rows,
int num_cols);
/*Volume*/
int QccVolumeIntCopy(QccVolumeInt volume1,
const QccVolumeInt volume2,
int num_frames,
int num_rows,
int num_cols);
QccVolumeInt QccVolumeIntAlloc(int num_frames,
int num_rows,
int num_cols);
void QccVolumeIntFree(QccVolumeInt volume,
int num_frames,
int num_rows);
double QccVolumeIntMean(const QccVolumeInt volume,
int num_frames,
int num_rows,
int num_cols);
……
#include "imagecube.h"
#include "libQccPackWAV.h"
#include "SPIHT3D.H"