使用VC ++ 2008编译Windows窗体应用程序时出现LNK2001错误

时间:2010-01-24 21:41:52

标签: c++ mysql visual-studio-2008 linker

我一直在尝试编写一个可以在C ++中使用mysql的小应用程序。我正在使用MySQL服务器5.1.41和MySQL C ++连接器1.0.5。当我编写控制台应用程序时,一切编译都很好,但是当我尝试以完全相同的方式编译Windows窗体应用程序(相同的库,相同的路径,相同的项目属性)时,我得到了这个错误:

Error   1   error LNK2001: unresolved external symbol "public: virtual int __clrcall sql::mysql::MySQL_Savepoint::getSavepointId(void)" (?getSavepointId@MySQL_Savepoint@mysql@sql@@$$FUAMHXZ)  test1.obj   test1
Error   2   error LNK2001: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __clrcall sql::mysql::MySQL_Savepoint::getSavepointName(void)" (?getSavepointName@MySQL_Savepoint@mysql@sql@@$$FUAM?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)   test1.obj   test1

按照here的说明,我得到了这个:

Undecoration of :- "?getSavepointId@MySQL_Savepoint@mysql@sql@@UEAAHXZ"
is :- "public: virtual int __cdecl sql::mysql::MySQL_Savepoint::getSavepointId(void) __ptr64"

Undecoration of :- "?getSavepointName@MySQL_Savepoint@mysql@sql@@UEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ"
is :- "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl sql::mysql::MySQL_Savepoint::getSavepointName(void) __ptr64"

但我现在该怎么办?

2 个答案:

答案 0 :(得分:1)

Project + Properties,General,将/ clr的公共语言运行时支持从/ clr:pure

更改

答案 1 :(得分:0)

看起来像调用约定的问题。我对托管C ++不是很熟悉,但this可能对你有所帮助。

相关问题