Zdravim,
s C++ teprve zacinam a tak presne nevim jak spravne nastavit (nebo spis jak funguje) v Microsoft Visual C++ volbu precompiled headers. Pisu zaroven 3 cpp soubory a kazdej z nich ma svuj hlavickovej soubor.
Cpp s funkci main je nastaven na /Yc a ostatni dva /Not Using Precompiled Headers...
Mozna to neni nastavene optimalne, ale aspon to funguje.
Horsi je, ze v hlavickovem souboru k cpp s main, nejde deklarovat funkce, ktera jako parametr pouziva objekt deklarovany v jinem mem hlavickovem souboru (ty co maji nastaveno /Not Using Precompiled Headers).
stdafx.h
#pragma once
#include <iostream>
#include <string>
#include <vector>
#include "object.h" /2 moje hlavickove soubory
#include "funkce.h"
#include <windows.h>
#include <malloc.h>
#include <memory.h>
#include <stdlib.h>
#include <tchar.h>
#include <strsafe.h>
#define WIN32_LEAN_AND_MEAN
#ifndef UNICODE
typedef std::string String;
#else
typedef std::wstring String;
#endif
int funkceXY(object & obj); /*chyba - kompilator to vyhodi, ze to neni deklarovano, ale visual c++ po proklepnuti objektu jeho deklaraci najde a zrusi podtrzitko, kterym oznacuje chyby */
program.cpp
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
object obj();
int i = funkceXY(obj); //tady bych chtel pouzit funkci
return 0;
}
object.h
#pragma once
#include <windows.h>
#include <WinGDI.h>
#include <tchar.h>
#include <iostream>
#include <fstream>
#include <strsafe.h>
#include "stdafx.h"
class object
{
private:
int stav;
public:
};
object.cpp
#pragma once
#include "object.h"
using namespace std;
object::object()
{
stav=1
}
Zbyvajici cpp a jeho header na chybovou funkci nemaji podle meho vliv.