与另一个项目的ImageMagick静态编译会产生链接器错误

Ser*_*ema 5 c++ imagemagick static-linking magick++

我已经下载了ImageMagick源代码,编译了向导以创建用于静态链接的Visual Studio解决方案,并在我的示例项目中包含了静态库Magick ++项目(下面的代码).我还添加了对该项目的依赖,并在解决方案中包含.lib文件,没有任何帮助.

#include <Magick++.h>

int main()
{
    Magick::Image image;
    bool test = image.isValid();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这会产生几个链接器错误,例如:

未解析的外部符号"__declspec(dllimport)public:virtual __thiscall Magick :: Image ::〜Image(void)"(__ imp _ ?? 1Image @ Magick @@ UAE @ XZ)在函数_main中引用

为什么不能找到实现?

我正在使用Visual Studio 2010 Beta 2.

小智 2

问题可能是由于您使用的编译器与编译库时使用的编译器不同而引起的。由于您的编译器相当新,因此它很可能使用不同的名称修饰并且无法在库内找到方法签名。