VS2010 error LNK2019: 无法解析的外部符号

程序如下:
#include
#include
#include
#include
#include
#include
#include

#include
#include

#include "cuda_runtime.h"
#include "device_launch_parameters.h"

#include "cuda_runtime.h"
#include
#include

#include "ImgPro_cu.cU"

using namespace std;

using namespace cv;

extern "C"
double cudaMSR_RGB(
BYTE* pImgOut,
BYTE* pImgIn,
int nWidth,
int nHeight,
int nWidthStep)
{
int FilterWidth = nWidth;
int FilterHeight = nHeight;
float sigma = 300;
int DataBits = 8;
int fftW = nWidth;
int fftH = nHeight;

float  *h_pDataSrcRGB = NULL;
float *h_pDataDst=  NULL;
float *h_pKernel=  NULL;
float *d_Kernel= NULL;
float *d_DataSrc= NULL;
float *d_DataDst= NULL;
fComplex *d_DataSpectrum;
fComplex *d_KernelSpectrum;

h_pDataSrcRGB       = (float*)malloc(nWidth*nHeight*sizeof(float));
h_pDataDst  = (float*)malloc(nWidth*nHeight*sizeof(float));
h_pKernel       = (float*)malloc(FilterWidth*FilterHeight*sizeof(float));
cudaMalloc((void **)&d_Kernel, FilterWidth*FilterHeight*sizeof(float));
cudaMalloc((void **)&d_DataSrc,nWidth*nHeight*sizeof(float) );
cudaMalloc((void **)&d_DataDst,nWidth*nHeight*sizeof(float) );
cudaMalloc((void **)&d_DataSpectrum  , fftH*(fftW/2+1)*sizeof(fComplex) );
cudaMalloc((void **)&d_KernelSpectrum, fftH*(fftW/2+1)*sizeof(fComplex) );

memset(h_pDataSrcRGB,0,nWidth*nHeight*sizeof(float));
memset(h_pDataDst,      0, nWidth*nHeight*sizeof(float));
memset(h_pKernel    ,       0, FilterWidth*FilterHeight*sizeof(float));
cudaMemset(d_Kernel,    0, FilterWidth*FilterHeight*sizeof(float));
cudaMemset(d_DataSrc, 0, nWidth*nHeight*sizeof(float));
cudaMemset(d_DataDst, 0, nWidth*nHeight*sizeof(float));
cudaMemset(d_DataSpectrum  , 0, fftH*(fftW/2+1)*sizeof(fComplex));
cudaMemset(d_KernelSpectrum, 0, fftH*(fftW/2+1)*sizeof(fComplex));

//产生高斯滤波器
GaussFilter(h_pKernel, sigma, FilterWidth, FilterHeight);

//定义傅里叶变换
cufftHandle fftPlanFwd, fftPlanInv;
cufftPlan2d(&fftPlanFwd, nHeight, nWidth, CUFFT_R2C);
cufftPlan2d(&fftPlanInv, nHeight, nWidth, CUFFT_C2R);

//计时开始
clock_t start, finish;
double  dDuration = 0.0;
start = clock();

for (int i_Channel = 1;i_Channel<=3;i_Channel++)
{
    for (int y = 0; y < nHeight; y++)
    {
        for (int x=0;x<nWidth;x++)
        {
            h_pDataSrcRGB[y * nWidth + x ] = pImgIn[y * nWidthStep + 3*x + i_Channel];//RGB三个通道
        }
    }

    cudaMemcpy(d_DataSrc, h_pDataSrcRGB, nWidth*nHeight*sizeof(float), 
        cudaMemcpyHostToDevice);
    cudaMemcpy(d_Kernel,  h_pKernel,  nWidth*nHeight*sizeof(float), 
        cudaMemcpyHostToDevice);

    //执行傅里叶正变换
    cufftExecR2C(fftPlanFwd, d_DataSrc, (cufftComplex *)d_DataSpectrum);
    cufftExecR2C(fftPlanFwd, d_Kernel , (cufftComplex *)d_KernelSpectrum);
    //频域数据点乘
    modulateAndNormalize(d_DataSpectrum, d_KernelSpectrum, fftH, fftW);
    //执行傅里叶逆变换
    cufftExecC2R(fftPlanInv, (cufftComplex *)d_DataSpectrum, d_DataDst);
    //图像高频增强
    High_Frequency_Enhancer(d_DataDst, d_DataSrc, nWidth, nHeight);
    //图像灰度拉伸映射
    cudaMemcpy(d_DataSrc, d_DataDst, nWidth*nHeight*sizeof(float), 
        cudaMemcpyDeviceToDevice);
    float Vmax = GetMaxValue(d_DataSrc, nWidth*nHeight);
    cudaMemcpy(d_DataSrc, d_DataDst, nWidth*nHeight*sizeof(float), 
        cudaMemcpyDeviceToDevice);
    float Vmin = GetMinValue(d_DataSrc, nWidth*nHeight);
    GrayReset(d_DataDst, d_DataDst, nWidth, nHeight, Vmax, Vmin, DataBits);

    cudaMemcpy(h_pDataDst, d_DataDst, nWidth*nHeight*sizeof(float), 
        cudaMemcpyDeviceToHost);

    for (int x=0;x<nWidth*nHeight;x++)
    {
        pImgOut[3*x+i_Channel] = h_pDataDst[x] ;//RGB三个通道
    }
}

//计时结束
finish = clock();
dDuration = (double)(finish - start) / CLOCKS_PER_SEC;

cufftDestroy(fftPlanFwd);
cufftDestroy(fftPlanInv);

free(h_pDataSrcRGB);
free(h_pDataDst);
free(h_pKernel);
cudaFree(d_DataSrc);
cudaFree(d_DataDst);
cudaFree(d_Kernel);
cudaFree(d_DataSpectrum);
cudaFree(d_KernelSpectrum);

return dDuration;

}
int main()
{

IplImage *src = cvLoadImage("22.jpg");
IplImage *dst = cvCloneImage( src );
BYTE* srcdata = (BYTE *) src->imageData;
int nWidth = src->width;
int nHeight = src->height;
int nWidthStep = src->widthStep;
BYTE* dstdata = (BYTE *) dst->imageData;
cudaMSR_RGB(srcdata, dstdata,nWidth,nHeight,nWidthStep);

cvNamedWindow("原画",0);
cvShowImage("原画",src);
cvNamedWindow("色彩还原",0);
cvShowImage("色彩还原",dst);
cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&src);

}
运行后显示如下:
1>Laplacian.cu.obj : error LNK2019: 无法解析的外部符号 _cufftDestroy@4,该符号在函数 "void __cdecl ConvolutionFFT(float *,float *,float *,int,int,int,int)" (?ConvolutionFFT@@YAXPAM00HHHH@Z) 中被引用
1>Laplacian.cu.obj : error LNK2019: 无法解析的外部符号 _cufftExecC2R@12,该符号在函数 "void __cdecl ConvolutionFFT(float *,float *,float *,int,int,int,int)" (?ConvolutionFFT@@YAXPAM00HHHH@Z) 中被引用
1>Laplacian.cu.obj : error LNK2019: 无法解析的外部符号 _cufftExecR2C@12,该符号在函数 "void __cdecl ConvolutionFFT(float *,float *,float *,int,int,int,int)" (?ConvolutionFFT@@YAXPAM00HHHH@Z) 中被引用
1>Laplacian.cu.obj : error LNK2019: 无法解析的外部符号 _cufftPlan2d@16,该符号在函数 "void __cdecl ConvolutionFFT(float *,float *,float *,int,int,int,int)" (?ConvolutionFFT@@YAXPAM00HHHH@Z) 中被引用
1>C:\Users\Xu\Desktop\Laplacian\Vibe\Debug\Laplacian.exe : fatal error LNK1120: 4 个无法解析的外部命令
求问大神怎么解决这个问题。万分感谢

3个回答

最近在尝试用UDT进行通信,写了两个简单的客户端和服务端,但是编译的时候出现了“error LNK2019: 无法解析的外部符号”错误,为了以后进行总结,还是把解决方法记录下来。
1>------ 已启动生成: 项目: udt_appserver, 配置: Debug Win32 ------
1>生成启动时间为 2013/11/11 20:53:08。
1>InitializeBuildS......
答案就在这里:error LNK2019: 无法解析的外部符号
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

error LNK2019都是只有函数声明而找不到函数实现
检查:
附加库目录
附加依赖项

你用的cuda的lib库要链接到工程中。这些函数定义摘不到实现。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4
在VS2017里面写Qt5.9.2的项目,创建了一个新的Qt GUI 的项目, 但是却发现有一个关于怀疑.lib有关的问题。 具体错误如下: 1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用 1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 __imp__RoGetActivationFactory@12,该符号在函数 "public: __thiscall AppContainer::AppContainer(void)" (??0AppContainer@@QAE@XZ) 中被引用 1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _WindowsCreateStringReference@16,该符号在函数 "private: void __thiscall Microsoft::WRL::Wrappers::HStringReference::CreateReference(wchar_t const *,unsigned int,unsigned int)" (?CreateReference@HStringReference@Wrappers@WRL@Microsoft@@AAEXPB_WII@Z) 中被引用 1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _WindowsDeleteString@4,该符号在函数 "public: void __thiscall Microsoft::WRL::Wrappers::HString::Release(void)" (?Release@HString@Wrappers@WRL@Microsoft@@QAEXXZ) 中被引用 1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _WindowsGetStringRawBuffer@8,该符号在函数 "public: wchar_t const * __thiscall Microsoft::WRL::Wrappers::HString::GetRawBuffer(unsigned int *)const " (?GetRawBuffer@HString@Wrappers@WRL@Microsoft@@QBEPB_WPAI@Z) 中被引用 1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _RoOriginateError@8,该符号在函数 "public: static void __cdecl Microsoft::WRL::ErrorHelper<0>::OriginateError(long,struct HSTRING__ *)" (?OriginateError@?$ErrorHelper@$0A@@WRL@Microsoft@@SAXJPAUHSTRING__@@@Z) 中被引用 1>D:\New Projects\VS_Project\QtGuiApplication7\Win32\Debug\\QtGuiApplication7.exe : fatal error LNK1120: 6 个无法解析的外部命令 1>已完成生成项目“QtGuiApplication7.vcxproj”的操作 - 失败。 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== 在这里以其中一条具体的为例子:1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用 ## **百度许多文章,发现大部分都是说缺少对应得.lib或者.h的文件, 但是我查看该项目的属性,发现是有qtmaind.lib这个库的,但是问什么还是有错误呢?** ![图片说明](https://img-ask.csdn.net/upload/201711/21/1511253927_913872.png) ![图片说明](https://img-ask.csdn.net/upload/201711/21/1511253940_181810.png) ![图片说明](https://img-ask.csdn.net/upload/201711/21/1511253949_303532.png) 百思不得七姐~~ 有没有大牛可以指点一下》》》
求救大神们,error LNK2019: 无法解析的外部符号 的问题
我从网上下了个demo,然后新建工程导入了源代码,.h和.lib文件也都安放到位了,运行后报错显示 error LNK2019: 无法解析的外部符号 "public: __thiscall gsound::SoundPropagator::~SoundPropagator(void)" (??1SoundPropagator@gsound@@QAE@XZ),该符号在函数 _main 中被引用 还有很多都是类似的error LNK2019,网上搜了下也试了些网友的办法都没用,所以想请大神们帮看看
vs2010运行程序报错:error LNK2019: 无法解析的外部符号
如题,我在vs2010环境下做C++练习题时出现该错误。程序代码如下: //array.h #ifndef ARRAY_H #define ARRAY_H template<typename T> class Array { public: Array(int n);//数组首地址不用指定,待会分配 Array(Array &a); ~Array(); T getAt(int i);//返回第i个数组元素 void setAt(T x,int i);//将第i个元素设置为x protected: private: T *array;//数组首地址 int length;//数组长度 }; #endif //array.cpp #include "array.h" template<typename T>//所有成员函数前必须加模板声明 Array<T>::Array(int n)//成员函数类名后需加<T> { array=new T[n]; length=n; } template<typename T> Array<T>::Array(Array &a) { length=a.length; array=new T[length]; for(int i=0;i<length;i++) array[i]=a.array[i];//数据复制 } template<typename T> Array<T>::~Array() { delete []array; } template<typename T> T Array<T>::getAt(int i) { return array[i]; } template<typename T> void Array<T>::setAt(T x,int i) { array[i]=x; } //test.cpp #include "array.h" #include <iostream> using namespace std; void main() { int a[]={1,2,3,4,5}; double b[]={0,0.5,1.0,1.5,2.0}; Array <int>a1(5);//使用时必须指明传递给类模板的数据类型 Array <double>b1(5);//必须分两行写 for (int i=0;i<5;i++) { a1.setAt(a[i],i);//数据拷给对象 b1.setAt(b[i],i); } Array <int>a2(a1); for (int i=0;i<5;i++) { cout<<a1.getAt(i)<<" "<<a2.getAt(i)<<" "<<b1.getAt(i)<<endl; } } 具体的报错信息如下: c: __thiscall Array<double>::~Array<double>(void)" (??1?$Array@N@@QAE@XZ),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<int>::~Array<int>(void)" (??1?$Array@H@@QAE@XZ),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: int __thiscall Array<int>::getAt(int)" (?getAt@?$Array@H@@QAEHH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: double __thiscall Array<double>::getAt(int)" (?getAt@?$Array@N@@QAENH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<int>::Array<int>(class Array<int> &)" (??0?$Array@H@@QAE@AAV0@@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Array<double>::setAt(double,int)" (?setAt@?$Array@N@@QAEXNH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Array<int>::setAt(int,int)" (?setAt@?$Array@H@@QAEXHH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<double>::Array<double>(int)" (??0?$Array@N@@QAE@H@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<int>::Array<int>(int)" (??0?$Array@H@@QAE@H@Z),该符号在函数 _main 中被引用 1>D:\vsprojects\chaper5\array3\Debug\array3.exe : fatal error LNK1120: 9 个无法解析的外部命令 补充:我将上述代码改写到同一个cpp文件中,发现问题解决。 我重新建立过项目和文件,确定不是建错工程、建错文件等情况。望各位给出一些方向,谢谢!
VS2010+opencv2.4.10 error LNK2001: 无法解析的外部符号
![图片说明](https://img-ask.csdn.net/upload/201705/16/1494931643_91832.png)1>CameraDS.obj : error LNK2001: 无法解析的外部符号 _cvReleaseImage 1>CameraDS.obj : error LNK2001: 无法解析的外部符号 _cvCreateImage 1>CameraDS.obj : error LNK2001: 无法解析的外部符号 _cvFlip![图片说明](https://img-ask.csdn.net/upload/201705/16/1494932063_459352.png) 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvGetSize 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvConvertImage 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvLoadImage 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvSetImageROI 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvSaveImage 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvShowImage 1>CvvImage.obj : error LNK2001: 无法解析的外部符号 _cvGetImageROI 1>mymfc.obj : error LNK2001: 无法解析的外部符号 _cvDestroyWindow 1>mymfc.obj : error LNK2001: 无法解析的外部符号 _cvReleaseCapture 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declsp![![![![图片说明](https://img-ask.csdn.net/upload/201705/16/1494931732_440893.png)图片说明](https://img-ask.csdn.net/upload/201705/16/1494931633_997993.png)图片说明](https://img-ask.csdn.net/upload/201705/16/1494931500_68171.png)图片说明](https://img-ask.csdn.net/upload/201705/16/1494931362_928728.png)ec(dllimport) public: __thiscall asm_shape::~asm_shape(void)" (__imp_??1asm_shape@@QAE@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvReleaseMat 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "int __cdecl cv::_interlockedExchangeAdd(int *,int)" (?_interlockedExchangeAdd@cv@@YAHPAHH@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: void __thiscall cv::Mat::copySize(class cv::Mat const &)" (?copySize@Mat@cv@@QAEXABV12@@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall cv::_OutputArray::_OutputArray(class cv::Mat &)" (??0_OutputArray@cv@@QAE@AAVMat@1@@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall cv::_InputArray::_InputArray(class cv::Mat const &)" (??0_InputArray@cv@@QAE@ABVMat@1@@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvResize 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvResetImageROI 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvWaitKey 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall cv::CascadeClassifier::CascadeClassifier(void)" (??0CascadeClassifier@cv@@QAE@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: virtual __thiscall cv::CascadeClassifier::~CascadeClassifier(void)" (??1CascadeClassifier@cv@@UAE@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: bool __thiscall cv::CascadeClassifier::load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?load@CascadeClassifier@cv@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall cv::Mat::Mat(struct _IplImage const *,bool)" (??0Mat@cv@@QAE@PBU_IplImage@@_N@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "void __cdecl cv::cvtColor(class cv::_InputArray const &,class cv::_OutputArray const &,int,int)" (?cvtColor@cv@@YAXABV_InputArray@1@ABV_OutputArray@1@HH@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "void __cdecl cv::equalizeHist(class cv::_InputArray const &,class cv::_OutputArray const &)" (?equalizeHist@cv@@YAXABV_InputArray@1@ABV_OutputArray@1@@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall cv::CascadeClassifier::detectMultiScale(class cv::Mat const &,class std::vector<class cv::Rect_<int>,class std::allocator<class cv::Rect_<int> > > &,double,int,int,class cv::Size_<int>,class cv::Size_<int>)" (?detectMultiScale@CascadeClassifier@cv@@UAEXABVMat@2@AAV?$vector@V?$Rect_@H@cv@@V?$allocator@V?$Rect_@H@cv@@@std@@@std@@NHHV?$Size_@H@2@2@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall asm_shape::asm_shape(void)" (__imp_??0asm_shape@@QAE@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall asmfitting::asmfitting(void)" (__imp_??0asmfitting@@QAE@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall asmfitting::~asmfitting(void)" (__imp_??1asmfitting@@QAE@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall asmfitting::Read(char const *)" (__imp_?Read@asmfitting@@QAE_NPBD@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall asm_shape::Resize(int)" (__imp_?Resize@asm_shape@@QAEXH@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 __imp__InitShapeFromDetBox 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall asmfitting::ASMSeqSearch(class asm_shape &,struct _IplImage const *,int,bool,int)" (__imp_?ASMSeqSearch@asmfitting@@QAE_NAAVasm_shape@@PBU_IplImage@@H_NH@Z) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvNamedWindow 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvResizeWindow 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvGetWindowHandle 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvSetZero 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvCloneImage 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvRectangle 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvCircle 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvCreateMat 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvGEMM 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvSVD 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 _cvTrace 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: double const __thiscall asmfitting::GetMeanFaceWidth(void)const " (__imp_?GetMeanFaceWidth@asmfitting@@QBE?BNXZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: class asm_shape const __thiscall asmfitting::GetMappingDetShape(void)const " (__imp_?GetMappingDetShape@asmfitting@@QBE?BVasm_shape@@XZ) 1>mymfcDlg.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: struct Point2D32f & __thiscall asm_shape::operator[](int)" (__imp_??Aasm_shape@@QAEAAUPoint2D32f@@H@Z) ![图片说明](https://img-ask.csdn.net/upload/201705/16/1494931813_739749.png)
error LNK2019: 无法解析的外部符号
``` template<int x, int y, int z> class Time { public: Time(); void display() { cout << x << y << z << endl; } }; int main() { Time<11,55,47> time; time.display(); Time<2,17,2017> date; date.display(); system("pause"); return 0; } ``` 1>3.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Time<2,17,2017>::Time<2,17,2017>(void)" (??0?$Time@$01$0BB@$0HOB@@@QAE@XZ),该符号在函数 _main 中被引用 1>3.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Time<11,55,47>::Time<11,55,47>(void)" (??0?$Time@$0L@$0DH@$0CP@@@QAE@XZ),该符号在函数 _main 中被引用
matlab进行mex时出现 error LNK2019: 无法解析的外部符号……
**具体问题是:我想把现有的.cpp文件转成.mexw32的文件,代码没有出现错误,因为前辈曾转出过64位的。** 而且配置应该没问题,因为mex代码中其他.cpp文件是可以做出来的,唯独这个出现以下错误: mex mex_maxflow.cpp 正在创建库 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\MEX_4W~1\templib.x 和对象 C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\MEX_4W~1\templib.exp mex_maxflow.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Graph<double,double,double>::~Graph<double,double,double>(void)" (??1?$Graph@NNN@@QAE@XZ),该符号在函数 "public: void * __thiscall Graph<double,double,double>::`scalar deleting destructor'(unsigned int)" (??_G?$Graph@NNN@@QAEPAXI@Z) 中被引用 mex_maxflow.obj : error LNK2019: 无法解析的外部符号 "private: void __thiscall Graph<double,double,double>::reallocate_nodes(int)" (?reallocate_nodes@?$Graph@NNN@@AAEXH@Z),该符号在函数 "public: int __thiscall Graph<double,double,double>::add_node(int)" (?add_node@?$Graph@NNN@@QAEHH@Z) 中被引用 mex_maxflow.obj : error LNK2019: 无法解析的外部符号 "private: void __thiscall Graph<double,double,double>::reallocate_arcs(void)" (?reallocate_arcs@?$Graph@NNN@@AAEXXZ),该符号在函数 "public: void __thiscall Graph<double,double,double>::add_edge(int,int,double,double)" (?add_edge@?$Graph@NNN@@QAEXHHNN@Z) 中被引用 mex_maxflow.obj : error LNK2019: 无法解析的外部符号 "public: double __thiscall Graph<double,double,double>::maxflow(bool,class Block<int> *)" (?maxflow@?$Graph@NNN@@QAEN_NPAV?$Block@H@@@Z),该符号在函数 _mexFunction 中被引用 mex_maxflow.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Graph<double,double,double>::Graph<double,double,double>(int,int,void (__cdecl*)(char *))" (??0?$Graph@NNN@@QAE@HHP6AXPAD@Z@Z),该符号在函数 _mexFunction 中被引用 mex_maxflow.mexw32 : fatal error LNK1120: 5 个无法解析的外部命令 E:\MATLAB~3\BIN\MEX.PL: Error: Link of 'mex_maxflow.mexw32' failed. 折腾好久了也没结果,我试着更改文件名也存在错误,查了很多资料有些用vs编译的说是.lib调用问题,不过感觉和matlab进行mex是两回事么?好像是编译的文件引用了mexFuntion中文件,就是上面错误中说到的。请大家帮忙分析一下,不胜感激。仅有的1c币奉上
C++ error LNK2019: 无法解析的外部符号
在看某项目的源码时 发现其使用了第三方的头文件,之后我就去官网下载了。 下载来是压缩文件 里面有一些.c .h之类的文件,我把这些文件都包含在源码中。 然后运行就出现了: error LNK2019: 无法解析的外部符号 _jpeg_std_error,该符号在函数 "unsigned int __cdecl rescaleJPEG(unsigned char *,unsigned int,unsigned char * *,int)" (?rescaleJPEG@@YAIPAEIPAPAEH@Z) 中被引用 jpeg_std_error是第三方文件中定义的 unsigned int __cdecl rescaleJPEG是项目源码中定义的 而且在导入时 也使用了 extern “C” extern "C"{ #include "jpeglib.h" };
opencv报错,error LNK2001:无法解析的外部符号
opencv3.1.0报错,全是各种各样的LNK2001:无法解析的外部符号,求大神解答
error LNK2019: 无法解析的外部符号
一共有三个文件一个是头文件 两个cpp。 ``` //a.h #include<iostream> namespace sales { const int quarters = 4; struct Sales { double sales[quarters]; double average; double max; double min; }; void setsales(Sales & s, const double ar[], int n); void setsales(Sales & s); void showsales(const Sales & s); } ``` ``` //1.cpp #include<iostream> #include"a.h" int main() { using namespace sales; Sales s1,s2; double sz[] = { 1,2,3 }; setsales(s1, sz, 3); for (int i = 0; i < 4; i++) { printf("Enter number#%d:", i + 1); std::cin >> s2.sales[i]; } setsales(s2); showsales(s1); showsales(s2); system("pause"); return 0; } ``` ``` ales.cpp #include<iostream> #include<string> #include"a.h" using namespace sales; void setsales(Sales & s, const double ar[], int n) { for(int i=0;i<n;i++) { s.sales[i] = ar[i]; } double sum=0; s.max = s.sales[0]; s.min = s.sales[0]; for (int j = 0; j < n; j++) { s.max = s.max < s.sales[j] ? s.sales[j] : s.max; s.min = s.min < s.sales[j] ? s.sales[j] : s.min; sum += s.sales[j]; } s.average = sum / n; if (n<4) { for (int i = n; i < 4; i++) s.sales[i] = 0; } } void setsales(Sales & s) { double sum = 0; s.max = s.sales[0]; s.min = s.sales[0]; for (int j = 0; j < 4; j++) { s.max = s.max < s.sales[j] ? s.sales[j] : s.max; s.min = s.min < s.sales[j] ? s.sales[j] : s.min; sum += s.sales[j]; } s.average = sum / 4; } void showsales(const Sales & s) { using std::cout; using std::cin; using std::endl; for (int i = 0; i <4; i++) { cout << s.sales[i] << " "; } cout << endl << "AVERAGE:" << s.average<<endl; cout << "MAX:" << s.max << endl; cout << "MIN:" << s.min << endl; } ``` 三个文件都在同一文件夹下,不知为何会报错 1>1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl sales::setsales(struct sales::Sales &,double const * const,int)" (?setsales@sales@@YAXAAUSales@1@QBNH@Z),该符号在函数 _main 中被引用 1>1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl sales::setsales(struct sales::Sales &)" (?setsales@sales@@YAXAAUSales@1@@Z),该符号在函数 _main 中被引用 1>1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl sales::showsales(struct sales::Sales const &)" (?showsales@sales@@YAXABUSales@1@@Z),该符号在函数 _main 中被引用 1>D:\Documents\Visual Studio 2015\Projects\Win32Project4\Debug\Win32Project4.exe : fatal error LNK1120: 3 个无法解析的外部命令
MSVCRT.lib(exe_main.obj) : error LNK2001: 无法解析的外部符号 main?
当在第三个项目中添加Test.cpp文件时,会出现:“error LNK2001: 无法解析的外部符号 main?”![图片说明](https://img-ask.csdn.net/upload/201810/10/1539137417_54419.png)
错误 17 error LNK2001: 无法解析的外部符号 _PyExc_ImportError
vs2010编译opencv时候 错误 17 error LNK2001: 无法解析的外部符号 _PyExc_ImportError
1>Generic.obj : error LNK2019: 无法解析的外部符号
**//Generic.cpp** #include <windows.h> // 每一个 Windows 程序都需要包含此档 #include "resource.h" // 內含各个 resource IDs #include "Generic.h" // 本程序之含入档 HINSTANCE _hInst; // Instance handle HWND _hWnd; char _szAppName[] = "Generic"; // char _szTitle[] = "Generic Sample Application"; // // WinMain - //--------------------------------------------------------------- int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow) { MSG msg; if (!hPrevInstance) if (!InitApplication(hInstance)) return (FALSE); if (!InitInstance(hInstance, nCmdShow)) return (FALSE); while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (msg.wParam); // } //--------------------------------------------------------------- // InitApplication - //--------------------------------------------------------------- BOOL InitApplication(HINSTANCE hInstance) { WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WndProc; // wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH); // wc.lpszMenuName = (LPCWSTR)"GenericMenu"; // .RC wc.lpszClassName =(LPCWSTR) _szAppName; return (RegisterClass(&wc)); } //--------------------------------------------------------------- // InitInstance - //--------------------------------------------------------------- BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { _hInst = hInstance; // _hWnd = CreateWindow( (LPCWSTR)_szAppName, (LPCWSTR)_szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL ); if (!_hWnd) return (FALSE); ShowWindow(_hWnd, nCmdShow); // UpdateWindow(_hWnd); // 送出 WM_PAINT return (TRUE); } **//Generic.h** #include <windows.h> BOOL InitApplication(HANDLE); BOOL InitInstance(HANDLE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 生成时发生这样的错误: 1>Generic.obj : error LNK2019: 无法解析的外部符号 "int __cdecl InitInstance(void *,int)" (?InitInstance@@YAHPAXH@Z),该符号在函数 _WinMain@16 中被引用 1>Generic.obj : error LNK2019: 无法解析的外部符号 "int __cdecl InitApplication(void *)" (?InitApplication@@YAHPAX@Z),该符号在函数 _WinMain@16 中被引用 1>C:\Users\Share\Documents\Visual Studio 2010\Projects\firstwindow\Debug\firstwindow.exe : fatal error LNK1120: 2 个无法解析的外部命令 急急急~ 求大神指教。
VS2013 C++ error LNK2019: 无法解析的外部符号
#include<iostream> #include<fstream> #include<iomanip> using namespace std; #include<stdlib.h> template<class T> class CMatrix { T * * Mat; int nRow; int nCol; public: CMatrix(); CMatrix(int row, int col); CMatrix(int row, int col, int k); void Show(); void InputFromFile(); friend CMatrix<T>operator *(CMatrix<T> &mat1, CMatrix<T> &mat2); }; template<class T> CMatrix<T>::CMatrix() { nRow = 100, nCol = 100; Mat = new T*[100]; for (int i = 0; i<100; i++) { Mat[i] = new T[100]; } } template<class T> CMatrix<T>::CMatrix(int row, int col) { int i, j; nRow = row, nCol = col; Mat = new T*[nRow]; for (i = 0; i<nRow; i++) { Mat[i] = new T[nCol]; } cout << "请输入数据:\n"; for (i = 0; i<nRow; i++) for (j = 0; j<nCol; j++) { cout << "第[" << i + 1 << "][" << j + 1 << "]个数据:"; cin >> Mat[i][j]; } } template<class T> CMatrix<T>::CMatrix(int row, int col, int k) { nRow = row, nCol = col; Mat = new T*[nRow]; for (int i = 0; i<nRow; i++) { Mat[i] = new T[nCol]; } } template<class T> void CMatrix<T>::Show() { int i, j; for (i = 0; i<nRow; i++) { cout << endl; for (j = 0; j<nCol; j++) cout << Mat[i][j] << setw(6); } cout << endl; } template<class T> void CMatrix<T>::InputFromFile() { ifstream infile; infile.open("daijp.txt", ios::_Nocreate); if (!infile) { cout << "输入文件不存在,请先建立输入文件\n"; exit(0); } for (int i = 0; i<nRow; i++) for (int j = 0; j<nCol; j++) { infile >> Mat[i][j]; } infile.close(); } template<class T> CMatrix<T> operator* (CMatrix<T> &mat1, CMatrix<T> &mat2) { CMatrix<T> mat3(mat1.nRow, mat2.nCol, 0); for (int i = 0; i<mat1.nRow; i++) for (int j = 0; j<mat2.nCol; j++) { mat3.Mat[i][j] = 0; for (int k = 0; k<mat1.nCol; k++) mat3.Mat[i][j] += mat1.Mat[i][k] * mat2.Mat[k][j]; } return mat3; } template<class T> void choose1(T) { cout << "1)初始化赋值" << endl << "2)键盘输入" << endl << "3)文件输入" << endl; int srfs; cout << "请选择数据输入方式:\n"; cin >> srfs; switch (srfs) { case 1: { CMatrix<T> mata, matb, matc; }break; case 2: { int a, b, c, d; cout << "请输入第一个矩阵的行数和列数:" << endl; cin >> a >> b; CMatrix<T> mata(a, b); cout << "请输入第二个矩阵的行数和列数:" << endl; cin >> c >> d; if (b != c) { cout << "错误!!!两矩阵不能相乘!!!\n"; break; } CMatrix<T> matb(c, d); CMatrix<T> matc(a, d, 0); mata.Show(); matb.Show(); matc = mata*matb; cout << "两矩阵相乘结果为:\n"; matc.Show(); }break; case 3: { int a, b, c, d; cout << "请输入第一个矩阵的行数和列数:" << endl; cin >> a >> b; CMatrix<T> mata(a, b, 0); cout << "请输入第二个矩阵的行数和列数:" << endl; cin >> c >> d; if (b != c) { cout << "错误!!!两矩阵不能相乘!!!\n"; break; } CMatrix<T> matb(c, d, 0); CMatrix<T> matc(a, d, 0); mata.InputFromFile(); matb.InputFromFile(); mata.Show(); matb.Show(); matc = mata*matb; cout << "两矩阵相乘结果为:\n"; matc.Show(); }break; default:cout << "输入选择错误!!!" << endl; } } void choose() { cout << "作者:周毅" << setw(32) << "学号:140604163" << setw(32) << "专业:软件工程" << endl; cout << endl << "1)整型" << endl << "2)浮点型" << endl << "3)双精度型" << endl; cout << "请选择数据类型:\n"; int sjlx; cin >> sjlx; switch (sjlx) { case 1: { choose1(1); }break; case 2: { choose1(0.0); }break; case 3: { choose1(1e-10); }break; default:cout << "输入选择错误!!!" << endl; } cout << endl; } void main() { loop: cout << " ***************************************************************\n"; cout << " ******************************************\n"; cout << " ***************"; cout << "\n\n\n************************欢迎使用矩阵乘法计算程序!*************************\n"; cout << " ***************\n"; cout << " ******************************************\n"; cout << " ***************************************************************\n\n"; choose(); loop1: cout << "想继续执行吗?" << endl << "1)继续" << endl << "2)退出" << endl; int a; cin >> a; switch (a) { case 1: goto loop; break; case 2: { cout << "非常感谢您的使用!!!" << endl; cout << "按任意键退出……" << endl; cin.get(); cin.get(); exit(1); } default:cout << "输入选择错误!!!" << endl; goto loop1; } } 1> JB.cpp 1>JB.obj : error LNK2019: 无法解析的外部符号 "class CMatrix<int> __cdecl operator*(class CMatrix<int> &,class CMatrix<int> &)" (??D@YA?AV?$CMatrix@H@@AAV0@0@Z),该符号在函数 "void __cdecl choose1<int>(int)" (??$choose1@H@@YAXH@Z) 中被引用 1>JB.obj : error LNK2019: 无法解析的外部符号 "class CMatrix<double> __cdecl operator*(class CMatrix<double> &,class CMatrix<double> &)" (??D@YA?AV?$CMatrix@N@@AAV0@0@Z),该符号在函数 "void __cdecl choose1<double>(double)" (??$choose1@N@@YAXN@Z) 中被引用 1>F:\C++\ZYB\Debug\ZYB.exe : fatal error LNK1120: 2 个无法解析的外部命令
c语言提示error LNK2019: 无法解析的外部符号
在c语言中实现对对象的管理 前面的代码是这样的 #include <stdlib.h> #include <stdio.h> #include "ObjMgt.h" typedef struct key{ unsigned int key1; unsigned int key2; unsigned int key3; struct key * next; }keyall ; /************************************************************************* 功能:增加单个对象 输入: key1 外部关键字 KEY1 key2 外部关键字KEY2 key3 外部关键字KEY3 输出:无 返回: -1 :失败(对象已经存在或者其它异常) 0 :成功 ***************************************************************************/ int length=0; keyall *phead; keyall *pend; int Addkeyall (unsigned int key1, unsigned int key2, unsigned int key3) { if(phead==NULL){ phead=(keyall *)malloc(sizeof(keyall)); pend=phead; } if(length>10000) return -1; keyall *p=phead; while(p!=NULL) { if(p->key1==key1&&p->key2==key2&&p->key3==key3) return -1; p=p->next; } keyall * temp; temp=(keyall * )malloc(sizeof(keyall)); temp->key1=key1; temp->key2=key2; temp->key3=key3; pend->next=temp; pend=temp; pend->next=NULL; length++; /*请实现*/ return 0; } /******************************************************************************** 功能:删除一个或多个对象 输入: key1 外部关键字 KEY1 key2 外部关键字 KEY2 key3 外部关键字 KEY3 输出:无 返回:无 说明:用例保证参数取值为合法值和通配符0xFFFFFFFF, 通配符表示0~65535范围内的任意值; 举例:key1=1,key2=2,key3= 0xFFFFFFFF,表示删除key1=1,key2=2的所有对象; key1,key2,key3取值全为0xFFFFFFFF时,表示删除所有对象。 *********************************************************************************/ void Deletekeyall (unsigned int key1, unsigned int key2, unsigned int key3) { keyall *p; keyall *pre; p=phead->next; pre=phead; bool keya=false; bool keyb=false; bool keyc=false; if(key1==0xFFFFFFFF) keya=true; if(key2==0xFFFFFFFF) keyb=true; if(key3==0xFFFFFFFF) keyc=true; while(p!=NULL) { if((keya||p->key1==key1)&&(keyb||p->key2==key2)&&(keya||p->key3==key3)) { pre->next=p->next; free(p); p=pre->next; } else { pre=p; p=p->next; } } return ; } /******************************************************************************** 功能:查询单个对象是否存在 输入: key1 外部关键字 KEY1 key2 外部关键字 KEY2 key3 外部关键字 KEY3 输出:无 返回: 0:不存在 1:存在 **********************************************************************************/ int IskeyallExist (unsigned int key1, unsigned int key2, unsigned int key3) { /*请实现*/ keyall *p; p=phead->next; while(p!=NULL) { if(key1==p->key1&&key2==p->key2&&key3==p->key3) return 1; } return 0; } /****************************************************************************************************** Description 清空所有对象 Prototype void Clear(); Input Param 无 Output Param 无 Return Value 无 ********************************************************************************************************/ void Clear(void) { /*在这里实现功能*/ return; } 别人的代码可以使用的是这样的 #include "ObjMgt.h" #include <vector> using namespace std; typedef struct{ unsigned int key1; unsigned int key2; unsigned int key3; }KEY; vector <KEY> allKey; /************************************************************************* 功能:增加单个对象 输入: key1 外部关键字 KEY1 key2 外部关键字KEY2 key3 外部关键字KEY3 输出:无 返回: -1 :失败(对象已经存在或者其它异常) 0 :成功 ***************************************************************************/ int AddObject (unsigned int key1, unsigned int key2, unsigned int key3) { /*请实现*/ if(allKey.size() > 10000) return -1; if(key1 > 65535 || key2 > 65535 || key3 > 65535) return -1; int i,j = allKey.size(); for(i = 0; i < j;i++) if(allKey[i].key1 == key1 && allKey[i].key2 == key2 && allKey[i].key3 == key3) return -1; KEY k = {key1,key2,key3}; allKey.push_back(k); return 0; } /******************************************************************************** 功能:删除一个或多个对象 输入: key1 外部关键字 KEY1 key2 外部关键字 KEY2 key3 外部关键字 KEY3 输出:无 返回:无 说明:用例保证参数取值为合法值和通配符0xFFFFFFFF, 通配符表示0~65535范围内的任意值; 举例:key1=1,key2=2,key3= 0xFFFFFFFF,表示删除key1=1,key2=2的所有对象; key1,key2,key3取值全为0xFFFFFFFF时,表示删除所有对象。 *********************************************************************************/ void DeleteObject (unsigned int key1, unsigned int key2, unsigned int key3) { /*请实现*/ bool allKey1,allKey2,allKey3; if(key1 == 0xffffffff) allKey1 = true; else allKey1 = false; if(key2 == 0xffffffff) allKey2 = true; else allKey2 = false; if(key3 == 0xffffffff) allKey3 = true; else allKey3 = false; int i,j = allKey.size(); vector<KEY>::iterator it ; it = allKey.begin(); while (it != allKey.end()) { if(allKey1 || it->key1 == key1) if(allKey2 || it->key2 == key2) if(allKey3 || it->key3 == key3){ it = allKey.erase(it); continue; } it++; } return ; } /******************************************************************************** 功能:查询单个对象是否存在 输入: key1 外部关键字 KEY1 key2 外部关键字 KEY2 key3 外部关键字 KEY3 输出:无 返回: 0:不存在 1:存在 **********************************************************************************/ int IsObjectExist (unsigned int key1, unsigned int key2, unsigned int key3) { /*请实现*/ if(key1 > 65535 || key2 > 65535 || key3 > 65535) return 0; int i,j = allKey.size(); for(i = 0; i < j;i++) if(allKey[i].key1 == key1 && allKey[i].key2 == key2 && allKey[i].key3 == key3) return 1; return 0; } /****************************************************************************************************** Description 清空所有对象 Prototype void Clear(); Input Param 无 Output Param 无 Return Value 无 ********************************************************************************************************/ void Clear(void) { /*在这里实现功能*/ allKey.clear(); return; } 结果我的连接出现如下错误 1>正在链接... 1>CExampleTest.obj : error LNK2019: 无法解析的外部符号 "void __cdecl DeleteObject(unsigned int,unsigned int,unsigned int)" (?DeleteObject@@YAXIII@Z),该符号在函数 "public: void __thiscall CExampleTest::TestCase01(void)" (?TestCase01@CExampleTest@@QAEXXZ) 中被引用 1>CExampleTest.obj : error LNK2019: 无法解析的外部符号 "int __cdecl IsObjectExist(unsigned int,unsigned int,unsigned int)" (?IsObjectExist@@YAHIII@Z),该符号在函数 "public: void __thiscall CExampleTest::TestCase01(void)" (?TestCase01@CExampleTest@@QAEXXZ) 中被引用 1>CExampleTest.obj : error LNK2019: 无法解析的外部符号 "int __cdecl AddObject(unsigned int,unsigned int,unsigned int)" (?AddObject@@YAHIII@Z),该符号在函数 "public: void __thiscall CExampleTest::TestCase01(void)" (?TestCase01@CExampleTest@@QAEXXZ) 中被引用 1>C:\Users\wang\Desktop\对象管理器\ObjMgt\project\Debug\ObjMgt.exe : fatal error LNK1120: 3 个无法解析的外部命令 1>生成日志保存在“file://c:\Users\wang\Desktop\对象管理器\ObjMgt\project\Debug\BuildLog.htm” 1>ObjMgt - 4 个错误,0 个警告 ========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ========== 找了一天了 把网上能够试一试的都试了一遍 ,还是不行
qt里使用cximage老是报error: LNK2019: 无法解析的外部符号,咋回事啊?
在.pro里是这么写的: INCLUDEPATH += C:\Users\Administrator\Desktop\cximage_lib\include LIBS += C:\Users\Administrator\Desktop\cximage_lib\lib\cximage.lib 这个路径下include就是cximage下的那些.h文件,lib下是用vs2008编译官网下下来的cximage701_full\CxImage目录下的程序得到的cximage.lib。 我的代码如下: #include <QCoreApplication> #include "ximage.h" void main() { CxImage myImage; } 然后编译的时候报好多 main.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __thiscall CxImage::CxImage(unsigned int)" (??0CxImage@@QAE@I@Z),该符号在函数 _main 中被引用。。 都是这种错误。 这是什么问题呀?是我编译的库不对还是?
遇到蛋疼的:error LNK2001:
1>libcrypto.lib(ui_openssl.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(eng_openssl.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(e_capi.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(pem_lib.obj) : error LNK2001: 无法解析的外部符号 __acrt_iob_func 1>libcrypto.lib(ui_openssl.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vfprintf 1>libcrypto.lib(eng_openssl.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vfprintf 1>libcrypto.lib(pem_lib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vfprintf 1>libcrypto.lib(dso_win32.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsprintf 1>libcrypto.lib(cryptlib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsprintf 1>libcrypto.lib(cryptlib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vswprintf 1>libcrypto.lib(cryptlib.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsscanf 1>libcrypto.lib(v3_utl.obj) : error LNK2001: 无法解析的外部符号 __stdio_common_vsscanf 1>libcurl.lib(gzlib.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsprintf 1>libcurl.lib(gzwrite.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsprintf 1>libcurl.lib(mprintf.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsprintf 1>libcurl.lib(cookie.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(url.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(mprintf.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(formdata.obj) : error LNK2001: 无法解析的外部符号 __imp___acrt_iob_func 1>libcurl.lib(imap.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(ftp.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(http_proxy.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(http.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(parsedate.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(telnet.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(rtsp.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(cookie.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(hostip.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(url.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 1>libcurl.lib(transfer.obj) : error LNK2001: 无法解析的外部符号 __imp___stdio_common_vsscanf 在网上找到一些方法:::添加过两个库文件,。,,也设置过多线程/mtd启动,,,也添加过BUILDING_LIBCURL。。。都不好使。。。依然出现这个错误,,是怎么回事???(VS2013)
LNK2019: 无法解析的外部符号
本人在学数据结构--循环链表,源代码为实现一个循环链表,目前只定义了构造函数、dequeue()和enqueue()。其中dequeue()和enqueue()分别为删除和增加节点,当尝试调试enqueue(),出现了错误 #include<iostream> #ifndef CLQUEUE_H #define CLQUEUE_H typedef int QueueElement; class CLQueue{ public: CLQueue(); ~CLQueue(); const CLQueue& operator= (const CLQueue& original); CLQueue(const CLQueue& original); bool empty(); void enqueue(QueueElement value); void dequeue(); void front(); void diaplay(); private: class Node{ public: QueueElement data; Node* next; Node(QueueElement value, Node* link = 0) :data(value), next(link){} }; typedef Node* NodePointer; NodePointer myBack; }; #endif using namespace std; #include"CLQueue.h" CLQueue::CLQueue() :myBack(0){} void CLQueue::enqueue(QueueElement value){ NodePointer newPtr = new CLQueue::Node(value); if (empty()){ myBack->next = newPtr; myBack = newPtr; } else{ newPtr->next = myBack->next; myBack->next = newPtr; myBack = newPtr; } } void CLQueue::dequeue(){ if (!empty()){ CLQueue::NodePointer dePtr = myBack->next; if (dePtr->next == dePtr) myBack = 0; else myBack->next = dePtr->next; delete dePtr; } else cerr << "The CLQueue is empty\n"; } bool CLQueue::empty(){ return myBack == 0; } using namespace std; #include"CLQueue.h" int main(){ CLQueue clq; for (int i = 0; i < 5; i++) clq.enqueue(i); cout << "Enquue*******\n"; } main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CLQueue::~CLQueue(void)" (??1CLQueue@@QAE@XZ),该符号在函数 "void __cdecl exercise8_3_8(void)" (?exercise8_3_8@@YAXXZ) 中被引用 1>E:\VC++\ADT\ADTch8\Debug\ADTch8.exe : fatal error LNK1120: 1 个无法解析的外部命令
VS2017+Qt开发环境,编译报错“error LNK2001: 无法解析的外部符号”,请各位大神指导。
1、问题描述 VS2017+Qt开发环境,编译报错“error LNK2001: 无法解析的外部符号”,编译具体结果如下图所示。 ![图片说明](https://img-ask.csdn.net/upload/201907/04/1562240644_143448.jpg) 请各位大神帮忙看下,多谢了。
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2
前后端分离后,维护接口文档基本上是必不可少的工作。 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却收费的软...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
天天学JAVA-JAVA基础(6)
如果觉得我写的还行,请关注我的博客并且点个赞哟。本文主要介绍JAVA 中最常使用字符串常量String相关知识。 1.String简介 2.创建字符串对象两种方式的区别 3.String常用的方法 4.String的不可变性 5.一道阿里面试题,你会做吗? 1.String简介 1.1String源码 首先看一段String源码,String主要实现了Serializable、Compar...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
2020 网络课 智慧树自动刷课代码,自动跳转,自动答题并关闭弹窗,自动1.5倍速静音
刷课一时爽,一直刷课一直爽! 终于让我找到了这个黑客代码了,教程开始: 只限谷歌浏览器和火狐浏览器使用,如果第一次失败,请重新试一下次 将下面代码复制后,进入浏览器按F12键,先点击console 然后Ctrl+v复制代码 最后按回车键即可 var ti = $("body"); var video = $(".catalogue_ul1 li[id*=video-]"); var i = 1;...
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
羞,Java 字符串拼接竟然有这么多姿势
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者微信我说了上面这段话。 我当时看到这条微信的第一感觉是:小菜你也太菜了吧,这都不知道为啥啊!我估...
写1行代码影响1000000000人,这是个什么项目?
不带钱不带卡,只带手机出门就能畅行无阻,这已是生活的常态。益普索发布的《2019第一季度第三方移动支付用户研究》报告显示,移动支付在手机网民中的渗透率高达95.1%,截至今年1月,支付宝全球用户数已经突破10亿。你或许每天都会打开支付宝,付款购物、领取权益、享受服务……但你或许不知道的是,在这个方便、快捷、智能化的APP背后,有一群年轻的技术人,用智慧和创新让它每天都变得更“聪明”一点。 ...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
一点一滴记录 Java 8 stream 的使用
日常用到,一点一滴记录,不断丰富,知识积累,塑造自身价值。欢迎收藏 String 转 List String str = 1,2,3,4; List&lt;Long&gt; lists = Arrays.stream(str.split(",")).map(s -&gt; Long.parseLong(s.trim())).collect(Collectors.toList()); Lis...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的段子
相关热词 c# 输入ip c# 乱码 报表 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件
立即提问