🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15794

Kompilacja warunkowa C++ pod VS2005

#15794
From: Marcin O.
Date: Tue, 27 Feb 2007 07:40
35 lines
1811 bytes
Hej,

No chyba lamerskie pytanie, ale nie moge sobie poradzic :(
Tworze projekt pod VS2005 w C++, w ktorym chce zastosowac kompilacje 
warunkowa.

Mam dwa pliki: naglowkowy 'a.h' i zrodlowy 'a.cpp'.
W pliku naglowkowym deklaruje funkcje A w postaci warunkowej:
#ifdef _A_
   void A(void) ;
#endif

W pliki zrodlowy definiuje funkcje A rowniez w postaci warunkowej:
#ifdef _A_
  void A(void) { return ; }
#endif

Teraz w pliku main.cpp chce uzyc funkcji A i robie to w ten sposob:
#define _A_
#include "a.h"

main()
{
   A() ;
}

No i kicha. Mam blad linkera, ze nie widzi definicji funkcji A. Jak 
sztucznie umiescze w pliku a.cpp na poczatku linijke #define _A_ to dziala, 
ale jak usune to nie dziala. Wynika, ze dyrektywa #define _A_ ma zasieg 
"lokalny" i dziala tylko na pliki naglowkowe a nie na pliki zrodlowe.

Czy tak jest? Jak moge zrobic by to dzialalo ok..

Pozdr
Marcin 
Technical Details
Message-ID: <es0n65$n7s$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "Marcin O." <kolo25@onet.eu>
Newsgroups: pl.comp.objects
Subject: Kompilacja warunkowa C++ pod VS2005
Date: Tue, 27 Feb 2007 08:40:24 +0100
Organization: Onet.pl
Lines: 37
Message-ID: <es0n65$n7s$1@news.onet.pl>
Reply-To: "Marcin O." <kolo25@onet.eu>
NNTP-Posting-Host: 62.233.211.121
X-Trace: news.onet.pl 1172561926 23804 62.233.211.121 (27 Feb 2007 07:38:46 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Tue, 27 Feb 2007 07:38:46 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Sender: V/tOp5eVncrJhb+pUbKiQA==
X-RFC2646: Format=Flowed; Original
X-Newsreader: Microsoft Outlook Express 6.00.2900.3028
X-Priority: 3
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit