2011-04-11 69 views
0

我正在将Visual Studio 2005(Windows XP)中的解决方案迁移到Visual Studio 2008(Windows 7)。该解决方案包含几个类库(dll)。这些库是用C#编写的。但是,一个库(名为“SDEWriter”)是用C++编写的。该库是一个CLR项目,并链接到使用本机C编写的外部库。我无法访问C代码。将项目从VS 2005(XP)迁移到VS 2008(Windows 7)时的链接器错误(2028)

在VS 2005中编译和链接项目进展良好。但在VS 2008中,我得到下面的连接错误:

* 错误LNK2028:未解决的令牌(0A00000E) “外部的 ”C“ 长__stdcall SE_error_get_string(长,字符*)”(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”项目属性一些额外的信息:

  • 公共语言运行库支持:旧语法(/ clr:oldSyntax)
  • 附加包含目录:路径外部C的包含文件夹头文件
  • 附加Libary名录:路径外部库
  • 附加依赖​​:所有需要的外部库

我已经搜索了这个网站和网页,但是我还没有找到解决方案。如果有人能帮忙,我会很高兴!提前致谢。

芭芭拉

回答