Błędy
C++ Fatal Error LNK1120: 1 unresolved externals
error LNK2019: unresolved external symbol .... referenced in function .....
Próbowałem, nie działa:
- Go back, start over again, go to File -> New -> Project -> Win32 Console Application -> name your app -> click next -> click application settings. For the application type, make sure Console Application is selected (this step is the vital step).
- Add "..\header.h" in name
Zrobiłem uproszczony kod, który wygląda tak:
http://snag.gy/FLQOt.jpg
http://snag.gy/db5nr.jpg
Cały aktualny kod (już działający) wygląda tak:
// nnnnnnnnnn 6 sierpnia.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <conio.h>
#include "bilet.h"
using namespace std;
void funkcja();
int _tmain(int argc, _TCHAR* argv[])
{
funkcja();
_getch();
return 0;
}
//------------------------------------------------------------------------------------------------
#ifndef BILET_H // _h header
#define BILET_H
void funkcja();
#endif
//------------------------------------------------------------------------------------------------
#include "stdafx.h" //bez włączenia tego nie działa ...
#include "bilet.h"
#include <iostream>
using namespace std;
//------------------------------------------------------------------------------------------------
void funkcja()
{
std::cout << "fsafsaffa" << std::endl;
}
Na czym dokładnie polegał problem i jak się ustrzec tego typu błędów na przyszłość? Robiłem przykład z Symfonii, pierwotny kod był o wiele dłuższy i zawierał klasy. Dwa pliki nagłówkowe, 4 pliki cpp.
Czy
- To że dodawałem te pliki w sposób "FILE -> NEW FILE -> NEW FILE CPP/ HEADER FILE" to powodowało ten problem #1
W jaki sposób poprawnie konstruować pliki, które mają więcej niż 1 plik. Dotychczas pisałem kod w stylu C.
Czy ten "bilet.cpp" powinienem był wsadzić do "Source files" w Solution Explorer (po prawej)? http://snag.gy/v18tX.jpg
Problem jest jako tako rozwiązany, ale chciałbym wiedzieć w czym tkwiła jego istota.
Z góry dzięki za odpowiedź.
edit:
Ten działający przykład zrobiłem przez normalne stworzenie projektu konsolowego, potem w Solution Explorer dodawałem nowy plik nagłówkowy i cpp, zamiast tego w #1 (patrz wyżej).
fasadinShalom