enter code here
//Prj1
//main1.cpp
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include "head1.h"
using namespace std;
void main()
{
cout<<display();
cout<<"welcome";
_getch();
}
//head1.h
char* display(void);
//head1.cpp
#include "stdafx.h"
#ifdef _cplusplus
extern "C" {
#endif
char* display(void)
{
return("head1 functuion called\n");
}
#ifdef _cplusplus
}
#endif
//prj2
enter code here
//main2.cpp
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include "head1.h"
using namespace std;
void main()
{
cout<<display();
cout<<"welcome prj 2";
getch();
}
这是一个解决方案中的两个项目。此外,我添加了prj1的路径作为额外包括prj2的siarecory。在建立解决方案时,在链接时,我遇到以下错误:
1&GT;链接... 1&gt; main2.obj:错误LNK2019:函数_main中引用的未解析的外部符号“char * __cdecl display(void)”(?display @@ YAPADXZ) 1&gt; C:\ Documents and Settings \ 469515 \ My Documents \ NFC HAL SDK v2.2 \ Nfc \ comps \ phHalNfc \ EX1 \ prj1 \ Debug \ prj2.exe:致命错误LNK1120:1个未解析的外部
任何人都可以帮我解决这个问题:
答案 0 :(得分:1)
删除此行:
#ifdef _cplusplus
extern "C" {
#endif
来自CPP文件。
或者在头文件中添加相同的行。