我正在将解决方案从Visual Studio 2005(Windows XP)迁移到Visual Studio 2008(Windows 7)。该解决方案包含几个类库(dll)。这些库是用C#编写的。但是,一个库(名为“SDEWriter”)是用C ++编写的。这个库是一个CLR项目,链接到用本机C编写的外部库。我无法访问C代码。
在VS 2005中编译和链接项目很顺利。但在VS 2008中,我收到以下链接器错误:
* 错误LNK2028:未解析的令牌(0A00000E)“extern”C“long __stdcall SE_error_get_string(long,char *)”(?SE_error_get_string @@ $$ J18YGJJPAD @ Z)在函数“public:static bool __clrcall”中引用SDEWriter :: SDEfuncs :: Error(long,class std :: basic_string,class std :: allocator>)“*
有趣的是:当我将“SDEWriter”改为静态库(lib)而不是dll时,一切正常!
有关“SDEWriter”项目属性的一些其他信息:
我搜索了这个网站和网站,但我还没有找到解决方案。如果有人能提供帮助我会很高兴的!非常感谢。
芭芭拉