From: Mikhail K. <ko...@ut...> - 2003-11-27 08:59:14
|
Are cyclic dependencies between libraries allowed? |
From: Bob R. <bob...@co...> - 2006-12-01 22:12:00
|
Hi, Is there any documentation on how well mingw can link against libraries created with cl? Is my best bet to create libraries with mingw, and use cl to link? or is my best bet to create libraries with cl, and use mingw to link? or other ideas? I'm thinking I'll eventually have 3rd party libraries that will be compiled with cl, that I'll have no control over. If mingw can't handle this, I'd like to stop going down this path now. Thanks, Bob Rossi |
From: Earnie B. <ea...@us...> - 2006-12-01 22:58:29
|
Quoting Bob Rossi <bob...@co...>: > Hi, > > Is there any documentation on how well mingw can link against > libraries created with cl? > > Is my best bet to create libraries with mingw, and use cl to link? or > is my best bet to create libraries with cl, and use mingw to link? > or other ideas? > > I'm thinking I'll eventually have 3rd party libraries that will be > compiled with cl, that I'll have no control over. If mingw can't > handle this, I'd like to stop going down this path now. I know there are wiki entries answering these questions. Have you looked at those answers? http://www.mingw.org/MinGWiki/ Earnie Boyd -- Please post responsibly: * Use text posts instead of html; many list members just trash mail with html. * Do not use multipart mime to send both text and html versions. * Do not top post replies; post inline with the parts you are responding to. * Trim the post replies; remove irrelevant information from the quoted article. * Original posters: ** Provide small complete examples of the problem. ** Provide the full command that produced errors. ** Provide the versions of the software used. -- ****************************************************************************** * The user of this server has agreed to allow the use of a trailer in the * * mail that he sends for advertising purposes. This advertisment is added * * by the server and is not in the control of the user of our services. * ****************************************************************************** Save on your shoes, socks and other needs: http://give-me-an-offer.com/store/shoes Save on your baby gift needs: http://give-me-an-offer.com/offers/products/baby |
From: Bob R. <bob...@co...> - 2006-12-02 03:21:11
|
On Fri, Dec 01, 2006 at 05:58:22PM -0500, Earnie Boyd wrote: > Quoting Bob Rossi <bob...@co...>: > > > Hi, > > > > Is there any documentation on how well mingw can link against > > libraries created with cl? > > > > Is my best bet to create libraries with mingw, and use cl to link? or > > is my best bet to create libraries with cl, and use mingw to link? > > or other ideas? > > > > I'm thinking I'll eventually have 3rd party libraries that will be > > compiled with cl, that I'll have no control over. If mingw can't > > handle this, I'd like to stop going down this path now. > > I know there are wiki entries answering these questions. Have you > looked at those answers? http://www.mingw.org/MinGWiki/ OK, it looks like mingw is able to deal nicely with cl dll's that are written in C. Can it link nicely with cl dll's that are in C++? I'm amazed that I can print using cout << "Hello World" << endl; on windows with mingw g++. Is that really using the msft standard C++ library? Also, one other question. Does anyone know how mingw produced executables perform in terms of speed compared to cl executables? I know that's an open question, but in general, is there any known performance issues with mingw produced executables compared to cl? For instance, I would think it's ok to say that "gcc on linux" is comparitive to "cl on windows". But I'm assuming that "gcc on cygwin" is slower than "cl on windows". Is there any known issues I should be aware of? Thanks, Bob Rossi |
From: Earnie B. <ea...@us...> - 2006-12-02 04:10:13
|
Quoting Bob Rossi <bob...@co...>: > > For instance, I would think it's ok to say that "gcc on linux" is comparitive > to "cl on windows". But I'm assuming that "gcc on cygwin" is slower than > "cl on windows". Is there any known issues I should be aware of? > Cygwin has nothing to do with native MSVCRT.DLL dependent executables. If you're using the Cygwin runtime then your barking in the wrong list. Do some searching, you should be able to find archive entries that give source code to determine speed. Earnie Boyd -- Please post responsibly: * Use text posts instead of html; many list members just trash mail with html. * Do not use multipart mime to send both text and html versions. * Do not top post replies; post inline with the parts you are responding to. * Trim the post replies; remove irrelevant information from the quoted article. * Original posters: ** Provide small complete examples of the problem. ** Provide the full command that produced errors. ** Provide the versions of the software used. -- ****************************************************************************** * The user of this server has agreed to allow the use of a trailer in the * * mail that he sends for advertising purposes. This advertisment is added * * by the server and is not in the control of the user of our services. * ****************************************************************************** Save on your shoes, socks and other needs: http://give-me-an-offer.com/store/shoes Save on your baby gift needs: http://give-me-an-offer.com/offers/products/baby |
From: Bob R. <bob...@co...> - 2006-12-04 15:42:18
|
On Sat, Dec 02, 2006 at 05:18:59AM +0000, Greg Chicares wrote: > On 2006-12-2 3:21 UTC, Bob Rossi wrote: > > On Fri, Dec 01, 2006 at 05:58:22PM -0500, Earnie Boyd wrote: > >> Quoting Bob Rossi <bob...@co...>: > >> > > OK, it looks like mingw is able to deal nicely with cl dll's that > > are written in C. Can it link nicely with cl dll's that are > > in C++? > > You'll find a discussion in the wiki. I'm sorry. I can't seem to find it. Would you be kind enough to point me to it? This may seem really stupid, but how do you search the wiki? > > I'm amazed that I can print using > > cout << "Hello World" << endl; > > on windows with mingw g++. Is that really using the msft standard C++ > > library? > > No. MinGW uses the ms C standard library, and the libstdc++ > implementation of the C++ standard library by default. You > can use an alternative like stlport provided you have its > source. OK, just so I understand, are you suggesting that mingw uses GNU's libstdc++ version of the C++ standard library? I'm assumming this is because of name mangling problems, is that correct? Thanks, Bob Rossi |
From: Greg C. <chi...@co...> - 2006-12-04 16:28:39
|
On 2006-12-4 15:42 UTC, Bob Rossi wrote: > On Sat, Dec 02, 2006 at 05:18:59AM +0000, Greg Chicares wrote: >> On 2006-12-2 3:21 UTC, Bob Rossi wrote: >>> On Fri, Dec 01, 2006 at 05:58:22PM -0500, Earnie Boyd wrote: >>>> Quoting Bob Rossi <bob...@co...>: >>>> >>> OK, it looks like mingw is able to deal nicely with cl dll's that >>> are written in C. Can it link nicely with cl dll's that are >>> in C++? >> You'll find a discussion in the wiki. > > I'm sorry. I can't seem to find it. Would you be kind enough to point me > to it? This may seem really stupid, but how do you search the wiki? It's somewhat like using a search engine: brute force works, but you'll have better luck if you can think of a distinctive keyword that narrows the search. Starting here http://mingw.org/MinGWiki/ you could type link C++ dll into the "FindPage" box at the top. That searches only titles by default, so click on "FullTextSearch" when that fails. You'll get a dozen or so hits, and the third one looks especially promising. If you do a "FullTextSearch" for link C++ dll mangling you get only four hits, three of which seem to be copies of the applicable article. >>> I'm amazed that I can print using >>> cout << "Hello World" << endl; >>> on windows with mingw g++. Is that really using the msft standard C++ >>> library? >> No. MinGW uses the ms C standard library, and the libstdc++ >> implementation of the C++ standard library by default. You >> can use an alternative like stlport provided you have its >> source. > > OK, just so I understand, are you suggesting that mingw uses GNU's > libstdc++ version of the C++ standard library? Indeed it does. > I'm assumming this is > because of name mangling problems, is that correct? A C++ standard-library implementation is generally supplied as a binary library along with headers. Headers are needed because of templates: there's no way for implementors to know you're going to do class foo{/* ... */}; std::vector<foo> foo_vector; at the time the library is compiled for distribution. Maybe it would be possible to implement everything in headers, yet in practice it's more convenient to do some things in a library. But the headers are indispensable, and, for gcc, they have to be free. AIUI, ms uses dinkumware's implementation, which is not free. The C runtime library is a different matter: MinGW gcc uses one supplied by ms, and it's not free, but that's okay because it's provided as part of the operating system. As you point out, linking to the library part of an ms implementation wouldn't work because of name-mangling differences, but, as that wiki article tries to explain, that's not the problem--it's the solution to worse problems you'd otherwise have. |
From: Greg C. <chi...@co...> - 2006-12-02 01:37:35
|
On 2006-12-1 22:11 UTC, Bob Rossi wrote: > > Is there any documentation on how well mingw can link against > libraries created with cl? > > Is my best bet to create libraries with mingw, and use cl to link? or > is my best bet to create libraries with cl, and use mingw to link? > or other ideas? > > I'm thinking I'll eventually have 3rd party libraries that will be > compiled with cl, that I'll have no control over. If mingw can't > handle this, I'd like to stop going down this path now. MinGW depends on MSVCRT.DLL, which I suppose was created with the ms compiler. Presumably it was written in C and not C++; there's an article in the wiki that discusses that. |
From: Greg C. <chi...@co...> - 2006-12-02 05:19:06
|
On 2006-12-2 3:21 UTC, Bob Rossi wrote: > On Fri, Dec 01, 2006 at 05:58:22PM -0500, Earnie Boyd wrote: >> Quoting Bob Rossi <bob...@co...>: >> > OK, it looks like mingw is able to deal nicely with cl dll's that > are written in C. Can it link nicely with cl dll's that are > in C++? You'll find a discussion in the wiki. > I'm amazed that I can print using > cout << "Hello World" << endl; > on windows with mingw g++. Is that really using the msft standard C++ > library? No. MinGW uses the ms C standard library, and the libstdc++ implementation of the C++ standard library by default. You can use an alternative like stlport provided you have its source. |
From: Mikael A. <mik...@te...> - 2003-11-27 09:40:15
|
Hi ! I don't think so, but you could just create a dummy object file to put first that references the libraries. Mikael ----- Original Message ----- From: "Mikhail Konchichev" <ko...@ut...> To: "mingw-users mailing list" <min...@li...> Sent: Thursday, November 27, 2003 9:58 AM Subject: [Mingw-users] linking > Are cyclic dependencies between libraries allowed? > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users |
From: Miroslav F. <cx...@nt...> - 2003-11-27 09:46:39
|
> Are cyclic dependencies between libraries allowed? AFAIK see -Wl,start-group and -Wl,end-group docs... Mirek |
From: Earnie B. <ea...@us...> - 2003-11-27 12:48:24
|
Mikhail Konchichev wrote: > Are cyclic dependencies between libraries allowed? > Yes, AFAIK. You have to be specific about the command line though. If foo depends on bar which depends on foo then you need to specify -lfoo -lbar -lfoo on the command line. Earnie -- http://www.mingw.org Powered by SourceForge <http://sourceforge.net/projects/mingw> |