VS2010 多个cpp一行使用
VS2010 多个cpp一起使用
以下代码以及操作在VC6.0均已实现
我在VS2010里新建了一个Win32项目 空
在左边的源文件里添加了两个cpp
一个是shiyan.cpp
#include "Link_List_DS.cpp"
void main()
{
int a=1,b=2;
swap(&a,&b);
printf("%d %d\n",a,b);
}
另一个是Link_List_DS.cpp
#include <stdio.h>
void swap(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
编译错误
1>shiyan.obj : error LNK2005: "void __cdecl swap(int *,int *)" (?swap@@YAXPAH0@Z) 已经在 Link_List_DS.obj 中定义
1>E:\VS2010\Projects\shiyan6.17\Debug\shiyan6.17.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
为什么到了VS2010就不行了啊??求指导~~
------解决方案--------------------
是不是工程中已经包含了Link_List_DS.cpp?
------解决方案--------------------
extern void swap(int*, int*); //去调include cpp,直接申明一下即可。
void main()
{
int a=1,b=2;
swap(&a,&b);
printf("%d %d\n",a,b);
}
------解决方案--------------------
C++里面有一个swap函数 换一个名字
------解决方案--------------------
在一个工程里面 要么就用一头文件 加一个cpp的 然后直接应用头文件 这是常见做法
以下代码以及操作在VC6.0均已实现
我在VS2010里新建了一个Win32项目 空
在左边的源文件里添加了两个cpp
一个是shiyan.cpp
#include "Link_List_DS.cpp"
void main()
{
int a=1,b=2;
swap(&a,&b);
printf("%d %d\n",a,b);
}
另一个是Link_List_DS.cpp
#include <stdio.h>
void swap(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
编译错误
1>shiyan.obj : error LNK2005: "void __cdecl swap(int *,int *)" (?swap@@YAXPAH0@Z) 已经在 Link_List_DS.obj 中定义
1>E:\VS2010\Projects\shiyan6.17\Debug\shiyan6.17.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
为什么到了VS2010就不行了啊??求指导~~
------解决方案--------------------
是不是工程中已经包含了Link_List_DS.cpp?
------解决方案--------------------
extern void swap(int*, int*); //去调include cpp,直接申明一下即可。
void main()
{
int a=1,b=2;
swap(&a,&b);
printf("%d %d\n",a,b);
}
------解决方案--------------------
C++里面有一个swap函数 换一个名字
------解决方案--------------------
在一个工程里面 要么就用一头文件 加一个cpp的 然后直接应用头文件 这是常见做法