Неразрешенная ошибка внешних символов при соединении программы: - PullRequest
0 голосов
/ 27 июля 2011
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 в качестве дополнительного включения siarecory из prj2.При создании решения, при соединении, я получаю следующую ошибку:

1> Связывание ... 1> main2.obj: ошибка LNK2019: неразрешенный внешний символ "char * __cdecl display (void)" (?display @@ YAPADXZ), указанный в функции _main 1> C: \ Documents and Settings \ 469515 \ Мои документы \ NFC HAL SDK v2.2 \ Nfc \ comps \ phHalNfc \ EX1 \ prj1 \ Debug \ prj2.exe: фатальная ошибка LNK1120:1 неразрешенная внешность

Кто-нибудь может мне помочь с этим:

1 Ответ

1 голос
/ 27 июля 2011

Удалить эту строку:

#ifdef _cplusplus
extern "C" {
#endif

Из файла CPP.

ИЛИ добавить ту же строку в заголовочный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...