X-Spam-Check-By: sourceware.org Message-ID: <000901c65771$b1f93ca0$0ab2a8c0@murks> From: "Markus Heiden" To: Subject: Problems with linking and std c++ library when using -mnocygwin Date: Tue, 4 Apr 2006 00:55:22 +0200 MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0005_01C65782.73FD8F80" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com ------=_NextPart_000_0005_01C65782.73FD8F80 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit I have an c++ application which uses ifstream.close() like this: ---------- #include #include using namespace std; void readMainConfig () { ifstream *config = new ifstream("x.cfg"); ... config->close(); delete config; } ---------- cygwin can compile the .cpp files but when linking everything together, always "undefined reference" messages appear for the line with close(): ---------- g++ -mno-cygwin -w -march=i686 -Dstricmp=strcasecmp -Dstrcmpi=strcasecmp -I"./someDir" -c -o x1.o x1.cpp ... g++ -mno-cygwin -fPIC -shared -o xxx_i686.dll x1.o x2.o x3.o ... -lm x1.o: In function `_Z14readMainConfigv': x1.cpp:9: undefined reference to `std::basic_ifstream >::_close()' ---------- When I use the -O2 g++ option, things go worse. Then "new ifstream("x.cfg")" causes undefined references to _open(...). Under linux everything compiles fine without any substantial change, just the compile & link flags are different. I am using the most current version of all cygwin packages. What am I doing wrong? ------=_NextPart_000_0005_01C65782.73FD8F80 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH AQAAoIII5jCCAm4wggHXoAMCAQICAw85fTANBgkqhkiG9w0BAQQFADBiMQsw CQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg THRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3Vp bmcgQ0EwHhcNMDUwNzMwMTkyODEyWhcNMDYwNzMwMTkyODEyWjBhMQ8wDQYD VQQEEwZIZWlkZW4xDzANBgNVBCoTBk1hcmt1czEWMBQGA1UEAxMNTWFya3Vz IEhlaWRlbjElMCMGCSqGSIb3DQEJARYWbWFya3VzQG1hcmt1c2hlaWRlbi5k ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAw0TGQ00etJKor7fCytE1 VZoA6f2yPRM2KUwbABdapH88Rnxw+inujya2jHJiYEx3665tVxnspTZKb5f1 q26byc9uSo9SrrvATexprSPMxv+I8EaDdtupR+sjT4F+cMuHJp+1vlOcDFeY mQcnU47A680vYp9V2YBMmFL59S7Dv5kCAwEAAaMzMDEwIQYDVR0RBBowGIEW bWFya3VzQG1hcmt1c2hlaWRlbi5kZTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3 DQEBBAUAA4GBALuGbawdVMoJDwQSYAdX5okEU/MO5Ai/9rJSiME184Gyi0Kx VeSokN7z3cNaWZ6f68M95g9x+6+hhz8lw8UI6AS2+f6fYzUgtX2dvlL+QDfi bD9QZe7lhrJNKpUpaO0jqq1J5LQY6fEx2rADIDdkbl3+xy00b5SO73a/CW4x Byu4MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UE BhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBU b3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2Vy dGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3Rl IFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25h bC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIz MTIzNTk1OVowgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh cGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1 bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNp b24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkG CSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTCBnzAN BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1GnX1LCUZFtx6UfYDFG26nKRsIRe fS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6WZBrCFG5ErHzmj+hN D3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVquzgk CGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN BgkqhkiG9w0BAQQFAAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1 XAjPMPuoSpaKH2JCI4wXD/S6ZJwXrEcp352YXtJsYHFcoqzceePnbgBHH7UN KOgCneSa/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK/qarigd1iwzd UYRr5PjRzneigTCCAz8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAwgdEx CzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT CUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNV BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMT G1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYc cGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3MTcwMDAwMDBa Fw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3 dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEAxKY8VXNV+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6 YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688Cwfn8R+RNiQqE88r 1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJg t/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDow OKA2oDSGMmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZy ZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgG A1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEFBQADgYEASIzR UIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t 4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH 1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggHMMIIByAIB ATBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGlu ZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgSXNzdWluZyBDQQIDDzl9MAkGBSsOAwIaBQCggbowGAYJKoZIhvcNAQkD MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYwNDAzMjI1NTIyWjAj BgkqhkiG9w0BCQQxFgQUJl+ELi04f4QgY0GEvVSkegKpWMwwWwYJKoZIhvcN AQkPMU4wTDAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcN AwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwBwYFKw4DAh0wDQYJKoZI hvcNAQEBBQAEgYAhGW2raBnuDWV7piYaRdRGItXSrO2Ymi9CvH3XLiaZIPNk rAfvo4WExHCoLnS1N3qQBL5OOWtyIr3mPPMDfxSRMgdRqTvJUG14SaB1mjXd oisUHUhd4i90C7usNOekYDT2tOXqzgHMT3kZLcmzsTeH3ZR1n/yJ6xVWRNkb C0V8ZQAAAAAAAA== ------=_NextPart_000_0005_01C65782.73FD8F80--