CxImage 使用报错解决办法

博客内容讲述了在编译项目时遇到的链接错误,具体为LNK2019,无法解析的外部符号。问题出现在引用的库在不同程序配置(多字节与UNICODE不一致)之间。解决方案是将两个项目的字符集设置统一,即都设置为多字节或UNICODE。通过调整项目配置,成功解决了外部符号无法解析的错误,使得程序能正常引用并调用CxImage库的方法进行图片转换操作。
摘要由CSDN通过智能技术生成

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

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  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);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值