【发布时间】:2016-11-26 17:07:00
【问题描述】:
我正在尝试将CImg 库用于某些图像处理任务。在 Windows 7 x64 上使用 VS 2012,我正在构建一个项目来创建我的应用程序所需的 dll。我已经包含了库中唯一的头文件 CImg.h。但是一旦我初始化一个 CImg 对象,我就会得到一堆未解决的外部符号错误。一个示例错误如下:
layer.obj : error LNK2019: unresolved external symbol __imp_SetDIBitsToDevice referenced in function "public: struct cimg_library::CImgDisplay & __cdecl cimg_library::CImgDisplay::paint(void)" (?paint@CImgDisplay@cimg_library@@QEAAAEAU12@XZ)
谁能向我解释我做错了什么以及如何解决它? (我是 C++ 术语的新手。)
【问题讨论】:
-
您需要告诉 MSVC(编译器)链接到库。我认为在 VS 中,它是通过项目设置菜单完成的。使用库背后的想法是,您需要 (A) 包含头文件和 (B) 链接到 DLL。这些由编译器的不同部分在构建过程的 2 个不同阶段使用。
-
但是除了CImg库中的头文件外没有其他东西可以链接。
标签: c++ visual-studio-2012 image-processing dll cimg