dev-cpp-users Mailing List for Dev-C++ (Page 129)
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(15) |
Oct
(115) |
Nov
(154) |
Dec
(258) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(377) |
Feb
(260) |
Mar
(249) |
Apr
(188) |
May
(152) |
Jun
(150) |
Jul
(195) |
Aug
(202) |
Sep
(200) |
Oct
(286) |
Nov
(242) |
Dec
(165) |
| 2002 |
Jan
(245) |
Feb
(241) |
Mar
(239) |
Apr
(346) |
May
(406) |
Jun
(369) |
Jul
(418) |
Aug
(357) |
Sep
(362) |
Oct
(597) |
Nov
(455) |
Dec
(344) |
| 2003 |
Jan
(446) |
Feb
(397) |
Mar
(515) |
Apr
(524) |
May
(377) |
Jun
(387) |
Jul
(532) |
Aug
(364) |
Sep
(294) |
Oct
(352) |
Nov
(295) |
Dec
(327) |
| 2004 |
Jan
(416) |
Feb
(318) |
Mar
(324) |
Apr
(249) |
May
(259) |
Jun
(218) |
Jul
(212) |
Aug
(259) |
Sep
(158) |
Oct
(162) |
Nov
(214) |
Dec
(169) |
| 2005 |
Jan
(111) |
Feb
(165) |
Mar
(199) |
Apr
(147) |
May
(131) |
Jun
(163) |
Jul
(235) |
Aug
(136) |
Sep
(84) |
Oct
(88) |
Nov
(113) |
Dec
(100) |
| 2006 |
Jan
(85) |
Feb
(119) |
Mar
(33) |
Apr
(31) |
May
(56) |
Jun
(68) |
Jul
(18) |
Aug
(62) |
Sep
(33) |
Oct
(55) |
Nov
(19) |
Dec
(40) |
| 2007 |
Jan
(22) |
Feb
(49) |
Mar
(34) |
Apr
(51) |
May
(66) |
Jun
(43) |
Jul
(116) |
Aug
(57) |
Sep
(70) |
Oct
(69) |
Nov
(97) |
Dec
(86) |
| 2008 |
Jan
(32) |
Feb
(47) |
Mar
(106) |
Apr
(67) |
May
(28) |
Jun
(39) |
Jul
(31) |
Aug
(25) |
Sep
(18) |
Oct
(25) |
Nov
(5) |
Dec
(21) |
| 2009 |
Jan
(33) |
Feb
(27) |
Mar
(27) |
Apr
(22) |
May
(22) |
Jun
(10) |
Jul
(17) |
Aug
(9) |
Sep
(21) |
Oct
(13) |
Nov
(4) |
Dec
(11) |
| 2010 |
Jan
(10) |
Feb
(8) |
Mar
(4) |
Apr
(1) |
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(8) |
Oct
(26) |
Nov
(9) |
Dec
(1) |
| 2011 |
Jan
(21) |
Feb
(16) |
Mar
(4) |
Apr
(19) |
May
(26) |
Jun
(9) |
Jul
(6) |
Aug
|
Sep
(4) |
Oct
(3) |
Nov
(2) |
Dec
(1) |
| 2012 |
Jan
(4) |
Feb
(7) |
Mar
(4) |
Apr
|
May
(1) |
Jun
(10) |
Jul
(1) |
Aug
(1) |
Sep
(18) |
Oct
(3) |
Nov
(1) |
Dec
(1) |
| 2013 |
Jan
(4) |
Feb
(2) |
Mar
(15) |
Apr
(6) |
May
(1) |
Jun
(3) |
Jul
(1) |
Aug
(2) |
Sep
(4) |
Oct
|
Nov
(9) |
Dec
|
| 2014 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
(4) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(4) |
| 2015 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(9) |
Nov
(35) |
Dec
(6) |
| 2016 |
Jan
(7) |
Feb
(10) |
Mar
(10) |
Apr
(9) |
May
(13) |
Jun
(9) |
Jul
(1) |
Aug
(3) |
Sep
(3) |
Oct
(1) |
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Eduardo R. <reb...@gm...> - 2005-06-02 22:44:58
|
Hi, Probably you are trying to compile a project, so check if you have turned o= n=20 debugging information for your project: Project -> Project Options. Click in "Compiler" and "Linker". Using the dro= p=20 down menu say "yes" to "Generate debugging information". Hit the OK button= =20 and it's done. I hope this has solved your problem :-) ---- Eduardo Rebellis On 6/2/05, ric...@rc... <ric...@rc...> wrote: >=20 > Every time I trie to debug my program I get a message that there isn't an= y=20 > debug information and ask if I would like to turn on this feature, I say = yes=20 > it compiles but every thing stays the same, I press debug, I get the same= =20 > message, I say yes, ... > I've look in the help, I've configured the options, but I get always the= =20 > same result, > What can I do? > |
|
From: <ric...@rc...> - 2005-06-02 14:53:10
|
Every time I trie to debug my program I get a message that there isn't = any debug information and ask if I would like to turn on this feature, I = say yes it compiles but every thing stays the same, I press debug, I get = the same message, I say yes, ... I've look in the help, I've configured the options, but I get always the = same result, What can I do? |
|
From: Eric <eri...@cl...> - 2005-06-01 19:20:15
|
very good, it came in on the C++ group ----- Original Message -----=20 From: Elroy Rowe=20 To: Suvi Long=20 Sent: Thursday, June 02, 2005 6:27 AM Subject: [Dev-C++] Re: Thee Man Hello, do you need to spend Iess oimpatiently with the doctor's gold = concealed about his person. Butn your druggs? SavI am glad that at least you realize what you have done. And nowe over = 70% with Phunimaginable. He had pictured her down in that hell out of = whicharrmacyByMail Shop VlAGcity. She was attended by two negroes who trotted after her at aRA = VAAm I mad? he asked at last. Surely this ship is the Cinco Llagas?LlUM = Before you go, said Bishop, and to save you from any idleClALlS Lappear = unnecessarily harsh, especially since I and my friends oweEVlTRA and = many other. With each purchase youncommunicative. His friends at Government House, = bewildered atu get: a.. ToHe was still intent upon it a half-hour later when the dragoonsp = quaIity=20 a.. BESof twenty-six guns, the Santiago from Puerto Rico with a hundredT = PRlCES=20 a.. Total confDid you ever sail with a Frenchman named = Cahusac?identiaIity=20 a.. Jeremy clenched his hands. Why did ye let Wolverstone and theHome = deIivery |
|
From: Elroy R. <Row...@fu...> - 2005-06-01 18:28:27
|
Hello, were to be at Petit Goave by the end of January, when M. de = Rivaroltreated without harshness even by the soulless planter to whom = hethe hostages I need for our safety.General. Their presence might = admit anon of the reopening of thisfellow-slaves awaited him in deep = anxiety and some hope.Blood answered him.or ill-fortune - I care not = which - the battle, as I have had theduring those days of July, = August, and September.Sir, you... you are insolent! But of an = insolence that isAnd so, in the end, despite all that Cahusac could = say, the surrenderfrom surprise to surprise.conquered enemy country. = There were sounds of rending timbers,that Pitt was hardly yet in case = to undertake the navigation of thea mile off the Boca Chica and = little more than half a mile awaywas practically the end of the = matter. Lord Julian, the butt nowAh! To be sure! The Governor's = lady. And he laughed; or perhaps |
|
From: Jakob E. <mai...@ko...> - 2005-06-01 10:27:25
|
It also works with printers (wich are probably more comon than 80 colum =20 terminal) /Jakob Den 2005-05-31 15:53:11 skrev Martin Doucha <nex...@qu...>: > Scott wrote: > >> Is there a way to remove the (what seems to be a page break) line >> green or grey in colour that seems to do nothing except visually impai= r =20 >> my code... >> I cannot find any reference to it's name or use, in the Editor Option= s =20 >> etc... >> It's like a margin line? >> Anyone? >> Cheers, >> Scott. > > That annoying line is there actually to remind you how wide is the 80 =20 > column terminal screen. If you wish your code to be readable on one suc= h =20 > thing, that line comes really handy. > > Happy coding, > next_ghost > > > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create apps using Yahoo! > Search APIs Find out how you can build Yahoo! directly into your own > Applications - visit =20 > http://developer.yahoo.net/?fr=3Doffad-ysdn-ostg-q22005 > _______________________________________________ > Dev-cpp-users mailing list > Dev...@li... > TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users > |
|
From: <Mat...@Ve...> - 2005-06-01 00:42:57
|
Doesn't he want a class that is a pointee of some pointer, not a class containing a pointer to some other pointee? The best educational video in all of computer science: http://cslibrary.stanford.edu/104/ ;-) Matt -----Original Message----- From: Robert Alatalo [mailto:ral...@gm...] Sent: Tuesday, May 31, 2005 5:38 PM To: Mat...@ve... Cc: sab...@ve...; dev...@li... Subject: Re: [Dev-C++] Base classes.... But more generally... look at ALL the information that you need to store and think you might need to store and start thinking about the relationships.. and compare the 'is a' with the 'has a' Do you want a class that has a pointer or a class that is a pointer? ___________________________________________________________________ The information contained in this message and any attachment may be proprietary, confidential, and privileged or subject to the work product doctrine and thus protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify me immediately by replying to this message and deleting it and all copies and backups thereof. Thank you. |
|
From: Robert A. <ral...@gm...> - 2005-06-01 00:38:48
|
I would go one step further and suggest you look at the information
you want to store.
You want to store pointers to some data... but the data is different
enough that you are looking at some type of abstraction. What other
type of information do you want to store? I'm speculating that you
may want to store some additional information about the classes..like
maybe the class name, maybe a description. So it sounds like you may
have the makings of a pointer_to_dll class. This class would/could
have enough additional information (look at runtime information cause
I know it exists but don't recall the details) such that you could
store a pointer to void and cast it as required.
But more generally... look at ALL the information that you need to
store and think you might need to store and start thinking about the
relationships.. and compare the 'is a' with the 'has a' Do you want
a class that has a pointer or a class that is a pointer?
On 5/31/05, Mat...@ve...
<Mat...@ve...> wrote:
> Well my advice to you would be to start with the simplest possible code, =
and
> then work up to the complicated version. Also, when working with classes,=
it
> helps to draw some kind of simple paper diagram. At my desk, I have poste=
d
> the diagrams of the <ios> hierarchy and the <stdexcept> hierarchy for
> example.
>=20
> Here would be some really trivial multi-class code. Note how you can catc=
h a
> runtime_error as an exception because runtime_error is based on exception=
.
> If you look at the stdexcept system header or the docs for this header, y=
ou
> can see how this works in more detail.
>=20
> Also, google "C++ polymorphism" as well.
>=20
> HTH!
> Matt
>=20
>=20
> #include <stdexcept>
> #include <iostream>
>=20
> using namespace std;
>=20
> int main(int argc, char* argv)
> {
> try
> {
> throw runtime_error("foo");
> }
>=20
> catch (const exception& e)
> {
> cout << e.what();
> return 1;
> }
>=20
> return 0;
> }
>=20
> -----Original Message-----
> From: dev...@li...
> [mailto:dev...@li...]On Behalf Of Sabree
> Blackmon
> Sent: Friday, May 27, 2005 5:52 PM
> To: Dev-C++ Mailing List
> Subject: [Dev-C++] Base classes....
>=20
>=20
> Hello all,
> I am making a plugin manager that loads dll's and stores pointers to =
the
> imported classes in vector so users can request the classes when ever dur=
ing
> the program. However the problem lies in the fact that vectors or arrays =
can
> only store one type of object in other words one type of class pointer wh=
ich
> will not work. I know that a base class pointer is compatible with a deri=
ved
> class. I was thinking about creating a base class where all plugin classe=
s
> are derived from. I know this is possible because Crystal Space 3d uses t=
he
> same technique. I'm just not sure how. I've included the file where the b=
ase
> class in Crystal Space is declared. Maybe someone can make some sense of=
it
> all. I tried to reduce the file size, so if anyone need the rest just sa=
y
> so. Thanks.
> ___________________________________________________________________
> The information contained in this message and any attachment may be
> proprietary, confidential, and privileged or subject to the work
> product doctrine and thus protected from disclosure. If the reader
> of this message is not the intended recipient, or an employee or
> agent responsible for delivering this message to the intended
> recipient, you are hereby notified that any dissemination,
> distribution or copying of this communication is strictly prohibited.
> If you have received this communication in error, please notify me
> immediately by replying to this message and deleting it and all
> copies and backups thereof. Thank you.
>=20
>=20
>=20
> -------------------------------------------------------
> This SF.Net email is sponsored by Yahoo.
> Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
> Search APIs Find out how you can build Yahoo! directly into your own
> Applications - visit http://developer.yahoo.net/?fr=3Doffad-ysdn-ostg-q22=
005
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
|
|
From: <Mat...@Ve...> - 2005-05-31 16:20:43
|
Well my advice to you would be to start with the simplest possible code, and
then work up to the complicated version. Also, when working with classes, it
helps to draw some kind of simple paper diagram. At my desk, I have posted
the diagrams of the <ios> hierarchy and the <stdexcept> hierarchy for
example.
Here would be some really trivial multi-class code. Note how you can catch a
runtime_error as an exception because runtime_error is based on exception.
If you look at the stdexcept system header or the docs for this header, you
can see how this works in more detail.
Also, google "C++ polymorphism" as well.
HTH!
Matt
#include <stdexcept>
#include <iostream>
using namespace std;
int main(int argc, char* argv)
{
try
{
throw runtime_error("foo");
}
catch (const exception& e)
{
cout << e.what();
return 1;
}
return 0;
}
-----Original Message-----
From: dev...@li...
[mailto:dev...@li...]On Behalf Of Sabree
Blackmon
Sent: Friday, May 27, 2005 5:52 PM
To: Dev-C++ Mailing List
Subject: [Dev-C++] Base classes....
Hello all,
I am making a plugin manager that loads dll's and stores pointers to the
imported classes in vector so users can request the classes when ever during
the program. However the problem lies in the fact that vectors or arrays can
only store one type of object in other words one type of class pointer which
will not work. I know that a base class pointer is compatible with a derived
class. I was thinking about creating a base class where all plugin classes
are derived from. I know this is possible because Crystal Space 3d uses the
same technique. I'm just not sure how. I've included the file where the base
class in Crystal Space is declared. Maybe someone can make some sense of it
all. I tried to reduce the file size, so if anyone need the rest just say
so. Thanks.
___________________________________________________________________
The information contained in this message and any attachment may be
proprietary, confidential, and privileged or subject to the work
product doctrine and thus protected from disclosure. If the reader
of this message is not the intended recipient, or an employee or
agent responsible for delivering this message to the intended
recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify me
immediately by replying to this message and deleting it and all
copies and backups thereof. Thank you.
|
|
From: Martin D. <nex...@qu...> - 2005-05-31 13:53:23
|
Scott wrote: > Is there a way to remove the (what seems to be a page break) line > green or grey in colour that seems to do nothing except visually > impair my code... > > I cannot find any reference to it's name or use, in the Editor Options > etc... > > It's like a margin line? > > > Anyone? > > Cheers, > Scott. That annoying line is there actually to remind you how wide is the 80 column terminal screen. If you wish your code to be readable on one such thing, that line comes really handy. Happy coding, next_ghost |
|
From: Scott <mat...@gm...> - 2005-05-31 06:18:27
|
LOL, Doh! I can't believe i missed that!!!!!!! Thanks though... Cheers, Scott. > editor options, uncheck right margin visible |
|
From: Reid T. <rei...@at...> - 2005-05-31 03:52:39
|
Scott wrote: > Is there a way to remove the (what seems to be a page break) line > green or grey in colour that seems to do nothing except visually > impair my code... > > I cannot find any reference to it's name or use, in the Editor Options > etc... > > It's like a margin line? > > > Anyone? > > Cheers, > Scott. editor options, uncheck right margin visible |
|
From: Scott <mat...@gm...> - 2005-05-31 03:24:24
|
Is there a way to remove the (what seems to be a page break) line=20 green or grey in colour that seems to do nothing except visually impair = my code... I cannot find any reference to it's name or use, in the Editor Options = etc... It's like a margin line? Anyone? Cheers, Scott. |
|
From: Per W. <pw...@ia...> - 2005-05-29 09:59:43
|
The #ifndef HEADER_H... construct only protects from inclusion of a
specific header file once from the SAME C-filer. Not from inclusion by
multiple C files.
In the header file, you should normally write
extern int p;
and then in one of the C files write
int p;
Or you can modify the files to look like:
--- header.h ---
#ifndef HEADER_H
#define HEADER_H
#if defined IMPLEMENTATION
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN int p;
#endif
---------
--- main.c ---
#define IMPLEMENTATION
#include "header.h"
int main() {
...
}
----------
--- other.c ---
#include "header.h"
...
------------
/Per W
On Mon, 30 May 2005, Farzan Hajian wrote:
> Hi,
> Please help me with the following code. We have three files: a header file
> and two
> implementation files.
>
> // Source of "header.h"
> #ifndef HEADER_H
> #define HEADER_H
>
> int p;
>
> #endif
> --------------------------------
> // Source of "main.cpp"
> #include <cstdio>
> #include "header.h"
>
> int main()
> {
> printf("%i\n",p);
> return 0;
> }
> --------------------------------
> // Soruce of "func.cpp"
> #include "header.h"
> int func()
> {
> return p;
> }
>
> The compiler generates the error " multiple definition of 'p' ".
> What is wrong with the code?
> When the header file is included for the first time, the macro "HEADER_H"
> is defined
> but when the header file is included in the second implementation file,
> "HEADER_H" can not be recognized in the second file and "p" is define
|
|
From: Farzan H. <far...@ho...> - 2005-05-29 09:14:27
|
Hi,
Please help me with the following code. We have three files: a header fil=
e =20
and two
implementation files.
// Source of "header.h"
#ifndef HEADER_H
#define HEADER_H
int p;
#endif
--------------------------------
// Source of "main.cpp"
#include <cstdio>
#include "header.h"
int main()
{
printf("%i\n",p);
return 0;
}
--------------------------------
// Soruce of "func.cpp"
#include "header.h"
int func()
{
return p;
}
The compiler generates the error " multiple definition of 'p' ".
What is wrong with the code?
When the header file is included for the first time, the macro "HEADER_H"=
=20
is defined
but when the header file is included in the second implementation file,
"HEADER_H" can not be recognized in the second file and "p" is defined =20
once more!!
It seems macros have file scope.
Thanks,
--=20
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
|
|
From: <jal...@go...> - 2005-05-28 13:59:17
|
Outstandign my friend!! Nobody likes kiss-ass, but I must say... You guys in this group are the B= EST. Thanks Lucas your suggestion woked perfectly, just perfectly. Have an good weekend!! > I believe adding -mwindows to the project's linker options will fix thi= s. > > -Lukas > > On 5/27/05, jal...@go... <jal...@go...> wrote: >> YES!! >> It did the trick, but the DOS prompt pops up when I run the program, i= s >> there a fix for this? >> >> Thanks Daney and Per, you guys are the best!! > > > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create apps using Yahoo! > Search APIs Find out how you can build Yahoo! directly into your own > Applications - visit http://developer.yahoo.net/?fr=3Doffad-ysdn-ostg-q= 22005 > _______________________________________________ > Dev-cpp-users mailing list > Dev...@li... > TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users > |
|
From: Sabree B. <sab...@ve...> - 2005-05-28 00:52:28
|
/*
Crystal Space Shared Class Facility (SCF)
Copyright (C) 1999 by Andrew Zabolotny
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __CSSCF_H__
#define __CSSCF_H__
#include "csextern.h"
/**\file
* Crystal Space Shared Class Facility (SCF)
*/
/**
* \addtogroup scf
* @{ */
class csPluginPaths;
#include "ref.h"
#include "array.h"
/**
* Type of registered interface handle used by iBase::QueryInterface().
*/
typedef unsigned long scfInterfaceID;
/**\def SCF_TRACE(x)
* Macro for typing debug strings: Add #define SCF_DEBUG at the top
* of modules you want to track miscelaneous SCF activity and recompile.
*/
/**
* This is the basic interface: all other interfaces should be
* derived from this one, this will allow us to always use at least
* some minimal functionality given any interface pointer.
*/
struct iBase
{
/// Increment the number of references to this object.
virtual void IncRef () = 0;
/// Decrement the reference count.
virtual void DecRef () = 0;
/// Get the ref count (only for debugging).
virtual int GetRefCount () = 0;
/// Query a particular interface implemented by this object.
virtual void *QueryInterface (scfInterfaceID iInterfaceID, int iVersion) = 0;
/**
* Query a particular interface implemented by an object.
* This version will test if 'ibase' is 0.
*/
static void* QueryInterfaceSafe (iBase* ibase, scfInterfaceID iInterfaceID,
int iVersion)
{
if (ibase == 0) return 0;
else return ibase->QueryInterface (iInterfaceID, iVersion);
}
/// For weak references: add a reference owner.
virtual void AddRefOwner (iBase** ref_owner) = 0;
/// For weak references: remove a reference owner.
virtual void RemoveRefOwner (iBase** ref_owner) = 0;
};
#ifdef CS_REF_TRACKER
#include <typeinfo>
#define CS_TYPENAME(x) typeid(x).name()
/* @@@ HACK: Force an AddAlias() call for every contained interface
* However, when iSCF::SCF == 0, don't call QI to prevent interface ID
* resolution (which will fail).
*/
#define SCF_INIT_TRACKER_ALIASES \
if (iSCF::SCF != 0) QueryInterface ((scfInterfaceID)-1, -1);
#else
#define CS_TYPENAME(x) 0
#define SCF_INIT_TRACKER_ALIASES
#endif
/**
* This macro should be embedded into any SCF-capable class definition
* to declare the minimal functionality required by iBase interface.
*/
#define SCF_DECLARE_IBASE \
int scfRefCount; /* Reference counter */ \
csArray<iBase**>* scfWeakRefOwners; \
void scfRemoveRefOwners (); \
SCF_DECLARE_EMBEDDED_IBASE (iBase)
/**
* SCF_DECLARE_EMBEDDED_IBASE is used to declare the methods of iBase inside
* an embedded class that is exposed via QueryInterface...
*/
#define SCF_DECLARE_EMBEDDED_IBASE(OuterClass) \
public: \
OuterClass *scfParent; /* The parent object */ \
virtual void IncRef (); \
virtual void DecRef (); \
virtual int GetRefCount (); \
virtual void AddRefOwner (iBase** ref_owner); \
virtual void RemoveRefOwner (iBase** ref_owner); \
virtual void *QueryInterface (scfInterfaceID iInterfaceID, int iVersion)
/**
* The SCF_CONSTRUCT_IBASE macro should be invoked inside the constructor
* of a class (not inside an embedded interface). Normally each
* constructor should accept an iBase* parameter (that is passed by
* scfCreateInstance function) which should be passed to this macro.
* The macro will zero the reference count and initialize the pointer
* to the parent object. If the object is unparented (a common case),
* it is okay to use null as the argument to this macro.
*/
#define SCF_CONSTRUCT_IBASE(Parent) \
csRefTrackerAccess::TrackConstruction (this); \
csRefTrackerAccess::SetDescription (this, CS_TYPENAME(*this)); \
scfRefCount = 1; \
scfWeakRefOwners = 0; \
scfParent = Parent; if (scfParent) scfParent->IncRef(); \
SCF_INIT_TRACKER_ALIASES
/**
* The SCF_CONSTRUCT_EMBEDDED_IBASE macro should be invoked inside the
* constructor of a class that has an embedded interface
* (not inside the constructor of the embedded interface).
* The macro will initialize the pointer to the parent object
* (to the object this one is embedded into). The argument to this macro
* is the name of the parent's instance variable by which the embedded
* object is known (typically something like `scfiFooBar').
*/
#define SCF_CONSTRUCT_EMBEDDED_IBASE(Interface) \
Interface.scfParent = this; \
csRefTrackerAccess::AddAlias (&Interface, this);
/**
* The SCF_DESTRUCT_IBASE macro should be invoked inside the destructor
* of a class (not inside an embedded interface). It reverses the
* initialization performed by the SCF_CONSTRUCT_IBASE() macro.
*/
#define SCF_DESTRUCT_IBASE() \
csRefTrackerAccess::TrackDestruction (this, scfRefCount); \
scfRemoveRefOwners ();
/**
* The SCF_DESTRUCT_EMBEDDED_IBASE macro should be invoked inside the
* destructor of a class that has an embedded interface (not inside the
* destructor of the embedded interface). It reverses the initialization
* performed by the SCF_CONSTRUCT_EMBEDDED_IBASE() macro.
*/
#define SCF_DESTRUCT_EMBEDDED_IBASE(Interface) \
csRefTrackerAccess::RemoveAlias (&Interface, this); \
Interface.scfParent = 0;
/**
* The SCF_IMPLEMENT_IBASE_INCREF() macro implements the IncRef() method for a
* class in a C++ source module. Typically, this macro is automatically
* employed by the SCF_IMPLEMENT_IBASE() convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_INCREF(Class) \
void Class::IncRef () \
{ \
SCF_TRACE ((" (%s *)%p->IncRef (%d)\n", #Class, this, scfRefCount + 1));\
csRefTrackerAccess::TrackIncRef (this, scfRefCount); \
scfRefCount++; \
}
/**
* The SCF_IMPLEMENT_IBASE_DECREF() macro implements the DecRef() method for a
* class in a C++ source module. Typically, this macro is automatically
* employed by the SCF_IMPLEMENT_IBASE() convenience macro.
* <p>
* A note about the implementation: We do the "if" before the "scRefCount--"
* to make sure that calling Inc/DecRef doesn't result in a 2nd delete
*/
#define SCF_IMPLEMENT_IBASE_DECREF(Class) \
void Class::DecRef () \
{ \
csRefTrackerAccess::TrackDecRef (this, scfRefCount); \
if (scfRefCount == 1) \
{ \
SCF_TRACE ((" delete (%s *)%p\n", #Class, this)); \
scfRemoveRefOwners (); \
if (scfParent) \
scfParent->DecRef (); \
delete this; \
return; \
} \
scfRefCount--; \
}
/**
* The SCF_IMPLEMENT_IBASE_REMOVE_REF_OWNERS() macro implements the
* scfRemoveRefOwners() method for a class in a C++ source module. Typically,
* this macro is automatically employed by the SCF_IMPLEMENT_IBASE()
* convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_REMOVE_REF_OWNERS(Class) \
void Class::scfRemoveRefOwners () \
{ \
if (!scfWeakRefOwners) return; \
for (size_t i = 0 ; i < scfWeakRefOwners->Length () ; i++) \
{ \
iBase** p = (*scfWeakRefOwners)[i]; \
*p = 0; \
} \
delete scfWeakRefOwners; \
scfWeakRefOwners = 0; \
}
/**
* The SCF_IMPLEMENT_IBASE_REFOWNER() macro implements the AddRefOwner()
* and RemoveRefOwner() for a weak reference.
*/
#define SCF_IMPLEMENT_IBASE_REFOWNER(Class) \
void Class::AddRefOwner (iBase** ref_owner) \
{ \
if (!scfWeakRefOwners) \
scfWeakRefOwners = new csArray<iBase**> (0, 4); \
scfWeakRefOwners->InsertSorted (ref_owner); \
} \
void Class::RemoveRefOwner (iBase** ref_owner) \
{ \
if (!scfWeakRefOwners) \
return; \
size_t index = scfWeakRefOwners->FindSortedKey ( \
csArrayCmp<iBase**, iBase**> (ref_owner)); \
if (index != csArrayItemNotFound) scfWeakRefOwners->DeleteIndex ( \
index); \
}
/**
* The SCF_IMPLEMENT_IBASE_GETREFCOUNT() macro implements GetRefCount()
* for a class in a C++ source module.
*/
#define SCF_IMPLEMENT_IBASE_GETREFCOUNT(Class) \
int Class::GetRefCount () \
{ \
return scfRefCount; \
}
/**
* The SCF_IMPLEMENT_IBASE_QUERY() macro implements the opening boilerplate for
* the QueryInterface() method for a class in a C++ source module. Typically,
* this macro is automatically employed by the SCF_IMPLEMENT_IBASE()
* convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_QUERY(Class) \
void *Class::QueryInterface (scfInterfaceID iInterfaceID, int iVersion) \
{ \
SCF_TRACE ((" (%s *)%p->QueryInterface (%lu, %08X)\n", \
#Class, this, iInterfaceID, iVersion));
/**
* The SCF_IMPLEMENT_IBASE_QUERY_END macro implements the closing boilerplate
* for the QueryInterface() method for a class in a C++ source module.
* Typically, this macro is automatically employed by the
* SCF_IMPLEMENT_IBASE_END convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_QUERY_END \
return scfParent ? \
scfParent->QueryInterface (iInterfaceID, iVersion) : 0; \
}
/**
* The SCF_IMPLEMENT_IBASE() macro should be used within the C++ source module
* that implements a interface derived from iBase. Of course, you can still
* implement those methods manually, if you desire ...
*/
#define SCF_IMPLEMENT_IBASE(Class) \
SCF_IMPLEMENT_IBASE_INCREF(Class) \
SCF_IMPLEMENT_IBASE_DECREF(Class) \
SCF_IMPLEMENT_IBASE_GETREFCOUNT(Class) \
SCF_IMPLEMENT_IBASE_REFOWNER(Class) \
SCF_IMPLEMENT_IBASE_REMOVE_REF_OWNERS(Class) \
SCF_IMPLEMENT_IBASE_QUERY(Class)
/**
* The SCF_IMPLEMENT_IBASE_END macro is used to finish an SCF_IMPLEMENT_IBASE
* definition
*/
#define SCF_IMPLEMENT_IBASE_END \
SCF_IMPLEMENT_IBASE_QUERY_END
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_INCREF() macro implements the IncRef()
* method for an embedded class in a C++ source module. Typically, this macro
* is automatically employed by the SCF_IMPLEMENT_EMBEDDED_IBASE() convenience
* macro.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_INCREF(Class) \
void Class::IncRef () \
{ \
SCF_TRACE ((" (%s *)%p->IncRef (%d)\n", #Class, this, \
scfParent->GetRefCount () + 1)); \
scfParent->IncRef (); \
}
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_DECREF() macro implements the DecRef()
* method for an embedded class in a C++ source module. Typically, this macro
* is automatically employed by the SCF_IMPLEMENT_EMBEDDED_IBASE() convenience
* macro.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_DECREF(Class) \
void Class::DecRef () \
{ \
SCF_TRACE ((" (%s *)%p->DecRef (%d)\n", #Class, this, \
scfParent->GetRefCount ()-1)); \
scfParent->DecRef (); \
}
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_GETREFCOUNT() macro implements
* the GetRefCount() method for an embedded class in a C++ source module.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_GETREFCOUNT(Class) \
int Class::GetRefCount () \
{ \
return scfParent->GetRefCount (); \
}
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_REFOWNER() macro implements the
* AddRefOwner() and RemoveRefOwner() for a weak reference.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_REFOWNER(Class) \
void Class::AddRefOwner (iBase** ref_owner) \
{ \
scfParent->AddRefOwner (ref_owner); \
} \
void Class::RemoveRefOwner (iBase** ref_owner) \
{ \
scfParent->RemoveRefOwner (ref_owner); \
}
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_QUERY() macro implements the opening
* boilerplate for the QueryInterface() method for an embedded class in a C++
* source module. Typically, this macro is automatically employed by the
* SCF_IMPLEMENT_EMBEDDED_IBASE() convenience macro.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_QUERY(Class) \
void *Class::QueryInterface (scfInterfaceID iInterfaceID, int iVersion) \
{ \
SCF_TRACE ((" (%s *)%p->QueryInterface (%lu, %08X)\n", \
#Class, this, iInterfaceID, iVersion));
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_QUERY_END macro implements the closing
* boilerplate for the QueryInterface() method for a class in an embedded C++
* source module. Typically, this macro is automatically employed by the
* SCF_IMPLEMENT_EMBEDDED_IBASE_END convenience macro.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_QUERY_END \
return scfParent->QueryInterface (iInterfaceID, iVersion); \
}
/**
* SCF_IMPLEMENT_EMBEDDED_IBASE should be used to implement embedded interfaces
* derived from iBase. It differs from SCF_IMPLEMENT_IBASE because embedded
* interface don't have reference counts themselves, but instead use the
* reference count of their parent object.
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE(Class) \
SCF_IMPLEMENT_EMBEDDED_IBASE_INCREF(Class) \
SCF_IMPLEMENT_EMBEDDED_IBASE_DECREF(Class) \
SCF_IMPLEMENT_EMBEDDED_IBASE_GETREFCOUNT(Class) \
SCF_IMPLEMENT_EMBEDDED_IBASE_REFOWNER(Class) \
SCF_IMPLEMENT_EMBEDDED_IBASE_QUERY(Class)
/**
* The SCF_IMPLEMENT_EMBEDDED_IBASE_END macro is used to finish an
* SCF_IMPLEMENT_EMBEDDED_IBASE definition
*/
#define SCF_IMPLEMENT_EMBEDDED_IBASE_END \
SCF_IMPLEMENT_EMBEDDED_IBASE_QUERY_END
/**
* The IMPLEMENT_INTERFACE macro is used inside QueryInterface function
* to check if user requested a specific interface, whenever requested
* version of the interface correspond to the version we have and to
* return a pointer to that interface if everything is correct.
*/
#define SCF_IMPLEMENTS_INTERFACE(Interface) \
csRefTrackerAccess::AddAlias (CS_STATIC_CAST(Interface*, this), this);\
SCF_IMPLEMENTS_INTERFACE_COMMON (Interface, this)
/**
* IMPLEMENT_EMBEDDED_INTERFACE is same as IMPLEMENT_INTERFACE but is used
* when class implements the interface as an embedded member.
*/
#define SCF_IMPLEMENTS_EMBEDDED_INTERFACE(Interface) \
SCF_IMPLEMENTS_INTERFACE_COMMON (Interface, (&scf##Interface))
/**
* This is a common macro used in all IMPLEMENTS_XXX_INTERFACE macros
*/
#define SCF_IMPLEMENTS_INTERFACE_COMMON(Interface,Object) \
static scfInterfaceID Interface##_scfID = (scfInterfaceID)-1; \
if (Interface##_scfID == (scfInterfaceID)-1) \
Interface##_scfID = iSCF::SCF->GetInterfaceID (#Interface); \
if (iInterfaceID == Interface##_scfID && \
scfCompatibleVersion (iVersion, scfInterface<Interface>::GetVersion())) \
{ \
(Object)->IncRef (); \
return CS_STATIC_CAST(Interface*, Object); \
}
/**
* The following macro is used in "expansion SCF classes". An expansion class
* is a class that extends the functionality of another SCF class. For
* example, suppose a class TheWolf that implements the iWolf interface.
* Separately it is a useful class per se, but if you want to implement an
* additional class TheDog that is a subclass of TheWolf and which implements
* an additional interface iDog in theory you should just override the
* QueryInterface method and return the corresponding pointer when asked. The
* following macro makes such overrides simpler to write.
*/
#define SCF_DECLARE_IBASE_EXT(ParentClass) \
typedef ParentClass __scf_superclass; \
virtual void IncRef (); \
virtual void DecRef (); \
virtual int GetRefCount (); \
virtual void AddRefOwner (iBase** ref_owner); \
virtual void RemoveRefOwner (iBase** ref_owner); \
virtual void *QueryInterface (scfInterfaceID iInterfaceID, int iVersion)
/**
* The SCF_IMPLEMENT_IBASE_EXT_INCREF() macro implements the IncRef() method
* for a class extending another SCF class in a C++ source module. Typically,
* this macro is automatically employed by the SCF_IMPLEMENT_IBASE_EXT()
* convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_EXT_INCREF(Class) \
void Class::IncRef () \
{ \
__scf_superclass::IncRef (); \
}
/**
* The SCF_IMPLEMENT_IBASE_EXT_DECREF() macro implements the DecRef() method
* for a class extending another SCF class in a C++ source module. Typically,
* this macro is automatically employed by the SCF_IMPLEMENT_IBASE_EXT()
* convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_EXT_DECREF(Class) \
void Class::DecRef () \
{ \
__scf_superclass::DecRef (); \
}
/**
* The SCF_IMPLEMENT_IBASE_EXT_GETREFCOUNT() macro implements the GetRefCount()
* method for a class extending another SCF class in a C++ source module.
* Typically, this macro is automatically employed by the
* SCF_IMPLEMENT_IBASE_EXT() convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_EXT_GETREFCOUNT(Class) \
int Class::GetRefCount () \
{ \
return __scf_superclass::GetRefCount (); \
}
/**
* The SCF_IMPLEMENT_IBASE_EXT_REFOWNER() macro implements the
* AddRefOwner() and RemoveRefOwner() for a weak reference.
*/
#define SCF_IMPLEMENT_IBASE_EXT_REFOWNER(Class) \
void Class::AddRefOwner (iBase** ref_owner) \
{ \
__scf_superclass::AddRefOwner (ref_owner); \
} \
void Class::RemoveRefOwner (iBase** ref_owner) \
{ \
__scf_superclass::RemoveRefOwner (ref_owner); \
}
/**
* The SCF_IMPLEMENT_IBASE_EXT_QUERY() macro implements the opening boilerplate
* for the QueryInterface() method for a class extending another SCF class in a
* C++ source module. Typically, this macro is automatically employed by the
* SCF_IMPLEMENT_IBASE_EXT() convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_EXT_QUERY(Class) \
void *Class::QueryInterface (scfInterfaceID iInterfaceID, int iVersion) \
{
/**
* The SCF_IMPLEMENT_IBASE_EXT_QUERY_END macro implements the closing
* boilerplate for the QueryInterface() method for a class extending another
* SCF class in a C++ source module. Typically, this macro is automatically
* employed by the SCF_IMPLEMENT_IBASE_EXT_END convenience macro.
*/
#define SCF_IMPLEMENT_IBASE_EXT_QUERY_END \
return __scf_superclass::QueryInterface (iInterfaceID, iVersion); \
}
/**
* This macro implements same functionality as SCF_IMPLEMENT_IBASE
* except that it should be used for expansion SCF classes.
*/
#define SCF_IMPLEMENT_IBASE_EXT(Class) \
SCF_IMPLEMENT_IBASE_EXT_INCREF(Class) \
SCF_IMPLEMENT_IBASE_EXT_DECREF(Class) \
SCF_IMPLEMENT_IBASE_EXT_GETREFCOUNT(Class) \
SCF_IMPLEMENT_IBASE_EXT_REFOWNER(Class) \
SCF_IMPLEMENT_IBASE_EXT_QUERY(Class)
/**
* This macro implements same functionality as SCF_IMPLEMENT_IBASE_END
* except that it is used for expansion SCF classes.
*/
#define SCF_IMPLEMENT_IBASE_EXT_END \
SCF_IMPLEMENT_IBASE_EXT_QUERY_END
/**
* The SCF_IMPLEMENT_FACTORY_INIT macro defines initialization code for a
* plugin module. This function should set the plugin-global iSCF::SCF
* variable, and otherwise initialize the plugin module. Although a version of
* this function will be created for each SCF factory exported by the plugin,
* SCF will call one, and only one, to perform the plugin initialization. The
* choice of which function will be invoked to initialize the plugin is an SCF
* implementation detail. You should not attempt to predict which
* class_scfInitialize() function will be used, nor should use try to sway
* SCF's choice. Implementation note: There are some rare instances where a
* particularly picky (and probably buggy) compiler does not allow C++
* expressions within a function declared `extern "C"'. For this reason, the
* iSCF::SCF variable is instead initialized in the Class_scfUnitInitialize()
* function which is not qualified as `extern "C"'.
*/
#ifdef CS_MEMORY_TRACKER
// This special version of SCF_IMPLEMENT_FACTORY_INIT will make sure that
// the memory tracker for this plugin is implemented.
#define SCF_IMPLEMENT_FACTORY_INIT(Class) \
static inline void Class ## _scfUnitInitialize(iSCF* SCF) \
{ \
iSCF::SCF = SCF; \
extern void mtiRegisterModule (char*); \
mtiRegisterModule (#Class); \
} \
CS_EXPORTED_FUNCTION \
void CS_EXPORTED_NAME(Class,_scfInitialize)(iSCF* SCF) \
{ Class ## _scfUnitInitialize(SCF); }
#else
#define SCF_IMPLEMENT_FACTORY_INIT(Class) \
static inline void Class ## _scfUnitInitialize(iSCF* SCF) \
{ iSCF::SCF = SCF; } \
CS_EXPORTED_FUNCTION \
void CS_EXPORTED_NAME(Class,_scfInitialize)(iSCF* SCF) \
{ Class ## _scfUnitInitialize(SCF); }
#endif
/**
* The SCF_IMPLEMENT_FACTORY_FINIS macro defines finalization code for a plugin
* module. As with SCF_IMPLEMENT_FACTORY_INIT, only one instance of this
* function will be invoked to finalize the module.
*/
#define SCF_IMPLEMENT_FACTORY_FINIS(Class) \
CS_EXPORTED_FUNCTION \
void CS_EXPORTED_NAME(Class,_scfFinalize)() \
{ \
CS_STATIC_VARIABLE_CLEANUP \
}
/**
* The SCF_IMPLEMENT_FACTORY_CREATE macro is used to define a factory for one
* of exported classes. You can define the function manually, of course, if
* the constructor for your class has some specific constructor arguments (that
* is, more than one iBase* argument).
*/
#define SCF_IMPLEMENT_FACTORY_CREATE(Class) \
CS_EXPORTED_FUNCTION \
void* CS_EXPORTED_NAME(Class,_Create)(iBase *iParent) \
{ \
void *ret = new Class (iParent); \
SCF_TRACE ((" %p = new %s ()\n", ret, #Class)); \
return ret; \
}
/**
* The SCF_IMPLEMENT_FACTORY macro is used to define a factory for one of
* exported classes. You can define the function manually, of course,
* if the constructor for your class has some specific constructor
* arguments (that is, more than one iBase* argument).
*/
#define SCF_IMPLEMENT_FACTORY(Class) \
SCF_IMPLEMENT_FACTORY_INIT(Class) \
SCF_IMPLEMENT_FACTORY_FINIS(Class) \
SCF_IMPLEMENT_FACTORY_CREATE(Class)
#define SCF_STATIC_CLASS_CONTEXT "*static*"
|
|
From: Lukas 'C. M. <gry...@gm...> - 2005-05-28 00:43:01
|
I believe adding -mwindows to the project's linker options will fix this. -Lukas On 5/27/05, jal...@go... <jal...@go...> wrote: > YES!! > It did the trick, but the DOS prompt pops up when I run the program, is > there a fix for this? >=20 > Thanks Daney and Per, you guys are the best!! |
|
From: Michal M. <mi...@mo...> - 2005-05-27 18:27:31
|
Hello developers, I'm going to release new version of devpaks.org web interface and I'm looking for betatesters. The beta version is available at http://beta.devpaks.org/ . It would be nice if somebody can play with it for a while, trying to add some devpaks etc. Don't hesitate to do whatever you can image with it, all data will be deleted before releasing it. Submit bugs at: http://sourceforge.net/tracker/?group_id=94270&atid=607298 and add feature requests at: http://sourceforge.net/tracker/?group_id=94270&atid=607301 For discussion use forum at: http://sourceforge.net/forum/forum.php?forum_id=326329 or discuss about starting categories structure at: http://sourceforge.net/forum/message.php?msg_id=3131265 You can also directly contact me at ad...@de... or ICQ #175762750. Thanks in advance, Michal |
|
From: <jal...@go...> - 2005-05-27 13:07:15
|
YES!! It did the trick, but the DOS prompt pops up when I run the program, is there a fix for this? Thanks Daney and Per, you guys are the best!! > When specifying `something` on the commandline, that means that > `something` is an application, and that the output of that application > should be used as command-line parameter. > > This is a quite common way to configure programs on Unix machines, but > Windows doesn't support this feature. > > Manually run whatever command is specified within `` and take the print= ed > output and insert instead (while removing the ``). > > /Per W > > On Fri, 27 May 2005 jal...@go... wrote: > >> Thank you Daniel for your prompt response. >> I did as you suggested and followed the instruction in the >> '.../gtk_win32_tutorial', it was very informative. However, when tryin= g >> to >> compile the program suggested by the above webpage I get the following >> error: >> Compiler: Default compiler >> --- >> Building Makefile: "C:\tmp\Makefile.win" >> Executing make... >> make.exe -f "C:\tmp\Makefile.win" all >> g++.exe -c main.cpp -o main.o >> -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" >> -mms-bitfields `pkg-config gtk+-2.0 --cflags` >> >> cc1plus.exe: error: unrecognized command line option "-fcflags`" >> >> g++.exe: `pkg-config: No such file or directory >> g++.exe: gtk+-2.0: No such file or directory >> >> make.exe: *** [main.o] Error 1 >> >> Execution terminated >> ---- >> >> What could be wrong? >> >> Again thanks so much for the help. >> > jal...@go... wrote: >> > >> >>I have installed the GTK+ runtime as well as the GTK+ development >> >>libraries on my MSW-XP; I would like to use Code::Block or Dev-C++ a= s >> the >> >>IDE, but I have found that none of these IDEs have default settings >> for >> >>GTK+. I have tried to get the right settings on my own, but to now >> avail. >> >>So, I was wondering if someone here could give me a hand on this one= . >> >> >> >> >> > >> > Maybe this can be of some help: >> > http://danielko.objectis.net/programming/gtk_win32_tutorial >> > >> > >> > -- >> > Daniel K. O. > > |
|
From: Daniel K. O. <dan...@ya...> - 2005-05-27 06:55:49
|
jal...@go... wrote: >What could be wrong? > > You could try reading until the end. The item [4] says exactly what Per W said. I think that this problem is related to the make version. Seems that yours isn't expanding the `` command. What's the output for "make --version"? Mine (MSYS' make.exe 3.79.1 and mingw32-make.exe 3.80) work fine. If I try "make --win32" then it gives the same error. -- Daniel K. O. ____________________________________________________ Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! http://mail.yahoo.com.br |
|
From: Per W. <pw...@ia...> - 2005-05-27 03:57:54
|
When specifying `something` on the commandline, that means that `something` is an application, and that the output of that application should be used as command-line parameter. This is a quite common way to configure programs on Unix machines, but Windows doesn't support this feature. Manually run whatever command is specified within `` and take the printed output and insert instead (while removing the ``). /Per W On Fri, 27 May 2005 jal...@go... wrote: > Thank you Daniel for your prompt response. > I did as you suggested and followed the instruction in the > '.../gtk_win32_tutorial', it was very informative. However, when trying to > compile the program suggested by the above webpage I get the following > error: > Compiler: Default compiler > --- > Building Makefile: "C:\tmp\Makefile.win" > Executing make... > make.exe -f "C:\tmp\Makefile.win" all > g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" > -mms-bitfields `pkg-config gtk+-2.0 --cflags` > > cc1plus.exe: error: unrecognized command line option "-fcflags`" > > g++.exe: `pkg-config: No such file or directory > g++.exe: gtk+-2.0: No such file or directory > > make.exe: *** [main.o] Error 1 > > Execution terminated > ---- > > What could be wrong? > > Again thanks so much for the help. > > jal...@go... wrote: > > > >>I have installed the GTK+ runtime as well as the GTK+ development > >>libraries on my MSW-XP; I would like to use Code::Block or Dev-C++ as the > >>IDE, but I have found that none of these IDEs have default settings for > >>GTK+. I have tried to get the right settings on my own, but to now avail. > >>So, I was wondering if someone here could give me a hand on this one. > >> > >> > > > > Maybe this can be of some help: > > http://danielko.objectis.net/programming/gtk_win32_tutorial > > > > > > -- > > Daniel K. O. |
|
From: <jal...@go...> - 2005-05-27 03:21:39
|
Thank you Daniel for your prompt response. I did as you suggested and followed the instruction in the '.../gtk_win32_tutorial', it was very informative. However, when trying t= o compile the program suggested by the above webpage I get the following error: Compiler: Default compiler --- Building Makefile: "C:\tmp\Makefile.win" Executing make... make.exe -f "C:\tmp\Makefile.win" all g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include= " -mms-bitfields `pkg-config gtk+-2.0 --cflags` cc1plus.exe: error: unrecognized command line option "-fcflags`" g++.exe: `pkg-config: No such file or directory g++.exe: gtk+-2.0: No such file or directory make.exe: *** [main.o] Error 1 Execution terminated ---- What could be wrong? Again thanks so much for the help. > jal...@go... wrote: > >>I have installed the GTK+ runtime as well as the GTK+ development >>libraries on my MSW-XP; I would like to use Code::Block or Dev-C++ as t= he >>IDE, but I have found that none of these IDEs have default settings for >>GTK+. I have tried to get the right settings on my own, but to now avai= l. >>So, I was wondering if someone here could give me a hand on this one. >> >> > > Maybe this can be of some help: > http://danielko.objectis.net/programming/gtk_win32_tutorial > > > -- > Daniel K. O. > > > > > > ____________________________________________________ > Yahoo! Mail, cada vez melhor: agora com 1GB de espa=E7o gr=E1tis! > http://mail.yahoo.com.br > |
|
From: Daniel K. O. <dan...@ya...> - 2005-05-26 16:07:02
|
jal...@go... wrote: >I have installed the GTK+ runtime as well as the GTK+ development >libraries on my MSW-XP; I would like to use Code::Block or Dev-C++ as the >IDE, but I have found that none of these IDEs have default settings for >GTK+. I have tried to get the right settings on my own, but to now avail. >So, I was wondering if someone here could give me a hand on this one. > > Maybe this can be of some help: http://danielko.objectis.net/programming/gtk_win32_tutorial -- Daniel K. O. ____________________________________________________ Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! http://mail.yahoo.com.br |
|
From: <jal...@go...> - 2005-05-26 14:20:51
|
Howdy folks! I have installed the GTK+ runtime as well as the GTK+ development libraries on my MSW-XP; I would like to use Code::Block or Dev-C++ as the IDE, but I have found that none of these IDEs have default settings for GTK+. I have tried to get the right settings on my own, but to now avail. So, I was wondering if someone here could give me a hand on this one. TIA |
|
From: Eric <eri...@cl...> - 2005-05-25 18:42:43
|
what did you say? converted to plain text Email to consevre Internet banwidth Mirosoft are winkers ----- Original Message ----- From: Gautham Nookala To: dev...@li... Sent: Thursday, May 26, 2005 5:51 AM Subject: [Dev-C++] (no subject) |