我对Visual Studio中的c ++有点新,我正在尝试用Visual Studio编译一个庞大的C ++项目。我已经完成并将所有源文件和头文件添加到我的项目中,并且还更新了项目属性中的所有包含路径。
如果我将项目类型设置为“静态库(.Lib)”,项目将编译时没有错误,我将有一个很好的脂肪.lib文件。
如果我将项目更改为“动态库(.dll)”项目不再编译并且无法链接错误。
以下是一个例子:
Error 27 error LNK2001: unresolved external symbol "char const * __cdecl Project::toString(enum Project::compMode)" (?toString@Project@@$$FYAPBDW4compMode@1@@Z) H:\repo.project\user\tool\component.obj tool
有关此处可能发生的事情的任何帮助或背景?
答案 0 :(得分:4)
检查您是否定义了以下成员函数
char const* Project::toString(Project::compMode)
当您编译为静态库时,未解析的符号不是错误,因为稍后当您与其他代码链接时可以解析它。
您可能忘记将一些.cpp文件添加到项目中。