-2

こんにちは、2 つのプロジェクトがあります。1 つはジョイスティックからデータを取得するプロジェクトで、VC++ で記述されています。これらのデータは、コンパイラ gcc を使用して C で記述された udp を介して別のプログラム クライアントに送信されます。

私はこのコードを試します: 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 に答える