编译成功之后,在其他程序中引用库的时候,提示:

1>------ 已启动生成:  项目: TransImage, 配置: Debug Win32 ------

1>TransImageDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall CxImage::Load(wchar_t const *,unsigned int)" (__imp_?Load@CxImage@@QAE_NPB_WI@Z),该符号在函数 "public: void __thiscall CTransImageDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CTransImageDlg@@QAEXXZ) 中被引用

1>TransImageDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall CxImage::Save(wchar_t const *,unsigned int)" (__imp_?Save@CxImage@@QAE_NPB_WI@Z),该符号在函数 "public: void __thiscall CTransImageDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CTransImageDlg@@QAEXXZ) 中被引用

1>E:\framework\CxImage\TransImage\Debug\TransImage.exe : fatal error LNK1120: 2 个无法解析的外部命令

========== 生成:  成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

发现并不能使用成功,此时查看项目配置,一个是多字节,一个是UNICODE,改成一样,就能解决问题:

CxImage 使用报错解决办法_CxImage

程序中使用代码:

CxImage  image;

    // bmp -> jpg

    image.Load(L"1.bmp", CXIMAGE_FORMAT_BMP);

    if (image.IsValid()) 

    {

        if (!image.IsGrayScale()) image.IncreaseBpp(24);

        image.SetJpegQuality(99);

        image.Save(L"1.jpg", CXIMAGE_FORMAT_JPG);

    }