2011-12-05 145 views
0

我在一个项目中使用了草莓Perl和GDI +。所有东西都得到了正确的编译,我可以在Debug模式下运行perl脚本。但是,当我建立我的项目的发布版本,然后运行它,它给了以下错误VC++链接器问题

The procedure entry point GdipGetImageThumbnail could not be located in the 
dynamic link library perl512.dll. 

和退出应用程序上说OK。我无法理解为什么系统在gdiplus.lib中定义的时候在perl512.dll中搜索API GdipGetImageThumbnail。

+0

该DLL的.lib有问题。使用dumpbin.exe来查看它。不要保守这个版本的秘密。 –

+0

什么是您的链接器命令行? –

回答

1

如果您正在使用visual studio。右键点击相关项目。转到属性并从链接器分支开始,检查所有字段对于调试和发布配置都是相同的(适用于哪个应用程序)。如果没有成功,请检查c/C++和配置属性。检查项目依赖项/引用也是值得的。如果调试版本正在运行,则没有理由使该版本无法工作。

检查DLL中引用的任何类是否定义为外部也是明智的。这可能是有用的:http://msdn.microsoft.com/en-us/library/799kze2z(v=vs.80).aspx#3

希望这会有所帮助。

0

我的感官告诉我,您正在滥用AFX_EXT_CLASS宏。

http://support.microsoft.com/kb/128199

如果你有在你 自己的扩展DLL,然后从MFC类派生来电或派生的类扩展DLL,你必须 使用自己的预处理器符号