-2

嗨,我有两个项目:一个从操纵杆获取数据,用 VC++ 编写;这些数据将通过 udp 发送到另一个程序客户端,该程序是用 C 语言编写的,带有编译器 gcc。

我试试这个代码:VC++

#include "stdafx.h"
#include <stdio.h>
 extern "C" int cfunc(int);

int main() {
  int result, y;

  y=5;
  result=cfunc(y);  /* by value */

  if (y==5 && result==6)
printf("It worked!\n");
return 0;
}

但是当我用 Visual Studio 2010 编译它时,出现了一些错误:

Error 1 error LNK2019: unresolved external symbol _cfunc referenced in function _main
Error 2 error LNK1120: 1 unresolved externals

和我的 C 代码:

#include <stdio.h>

cfunc(int newval)
{
  ++newval;
  return newval;
}

main()
{ 
 int y;
 cfunc(y);
 printf(" %i ",y);
 }

可以编译

有什么建议吗?

4

1 回答 1

0

该错误可能是链接器错误,因为您尚未编译 C 代码文件,并且 C++ 代码链接依赖于已作为可链接对象存在的 C 代码。尝试先编译 C 文件,然后针对该目标文件使用 C++ 链接。

于 2012-12-13T00:54:07.490 回答