我在Microsoft Visual Studio 2010中编译C项目时遇到一些链接错误。我收到以下错误:
error LNK2019: unresolved external symbol _CreateRelation referenced in function _main
CreateRelation
是我项目中的一个功能。以下是我的问题:
我认为这是一些依赖性问题。如何在IDE中设置这些依赖项规则?
你能否告诉我,如果不使用makefile,是否总是可以建立一个项目并设置链接规则,它的大小是多少?
[编辑]
relation.h
void createRelation(LIST);
mainfile.c
#include relation.h
#include xyz.h
.
.
.
int main(){
LIST Relation1;
some codes //
createRelation(Relation1);
some code //
}
函数creatRelation()
在realation.h.
编辑2
In the function containing main
答案 0 :(得分:2)
有几种方法可以为构建过程设置依赖关系。
如果您引用的代码位于子项目中,您可以简单地告诉VS构建依赖项。您可以通过右键单击项目并选择项目依赖项来实现。然后,您可以检查在构建此项目之前应该构建的所有项目。
VS2010的另一个漂亮功能是Property Sheets。在旧版本的VS中,您必须告诉编译器每个项目的包含路径和lib路径。现在,您可以为正在使用的每个库创建属性表,然后只需将它们添加到项目中。这样,您只需创建一次属性表,并可以在许多项目中使用它。
因此,如果代码在另一个不是子项目的项目中,则必须通过这些属性表设置lib-path和include-path。您可以通过单击View-> Additional Windows-> Property Manager
来显示项目使用的属性表如果您没有引用任何外部项目。此问题很可能是由于您未实现您声明的函数引起的。所以编译器知道函数原型并且没有抱怨,但是链接器找不到符号的实现。
我希望有帮助
- 编辑 -
由于您说实现与main-function位于同一个文件中,我怀疑声明和定义的函数的签名不匹配。您是否收到有关隐式函数声明的警告?
这是复制粘贴错误吗? CreateRealtion(X);与CreateRelation(x);