News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

Compiling Linux Compatible Code under Windows using Cygwin

Started by elektronaut, November 05, 2005, 08:44:21 PM

Previous topic - Next topic

elektronaut

Hello there...

I just installed Code::Blocks and was surprised by how good it looks and feels. I really want to use it...but: I have this project going which uses sockets and all sorta stuff, i downloaded and installed cygwin...i'm not sure i did everything that needed doing but it looked good.

I could compile the example that came when you create a new console-application using mingw...but as soon as i switched to the cygwin environment (setting it up as the gcc compiler it seems to run into some trouble with the libraries/header files I dunno really what.

#include <iostream>

int main()
{
std::cout << "Hello world!" << std::endl;
return 0;
}


is what i'm trying to compile.

C:\Programme\cygwin

is where i setup cygwin and set the:

c-compiler: gcc.exe
c++ compiler: g++.exe
linker: g++.exe
...

everything lookin good...i can compile this though, so i guess the settings must be okay:

int main()
{
return 0;
}


the build-message i get complains about something within \user\include\pthread.h (why does it even need that one??? is it used within iostream?)

when i compile the "Hello World" one within the cygwin-bash it works like a charm...am I missing something? thanks for any help!!! I am really just beginning to write c++...so please be gentle;)

mandrav

Please post your full build log. To enable full logging, go to "Settings->Compiler->Other->Logging".
Anyway, someone mentioned that cygwin requires "/" as path separator but currently the platform default is used (which is "\" under windows) so it probably failed because of this. Can't be sure though without the build log.
Be patient!
This bug will be fixed soon...

elektronaut

I'm sorry, should have thought of that!...I think i even fixed something, at least...the include path was still pointing to the CodeBlocks include directory...now what seems to fail is the linking?

Project   : Console application
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\Dokumente und Einstellungen\myUser\Eigene Dateien\code\c++ projects\sockettest\
--------------------------------------------------------------------------------
Switching to target: default
g++.exe       -IC:\Programme\cygwin\include -c main.cpp -o .objs\main.o
g++.exe    -LC:\Programme\CodeBlocks\lib -o "C:\Dokumente und Einstellungen\myUser\Eigene Dateien\code\c++ projects\sockettest\console.exe" .objs\main.o       
C:\Programme\CodeBlocks\lib/libstdc++.a(globals_io.o)(.text+0xe):globals_io.cc: undefined reference to `___gthr_win32_mutex_init_function'
C:\Programme\CodeBlocks\lib/libstdc++.a(globals_io.o)(.text+0x2f):globals_io.cc: undefined reference to `___gthr_win32_mutex_init_function'
C:\Programme\CodeBlocks\lib/libstdc++.a(ios_init.o)(.text+0x21f):ios_init.cc: undefined reference to `__imp___iob'
C:\Programme\CodeBlocks\lib/libstdc++.a(ios_init.o)(.text+0x282):ios_init.cc: undefined reference to `__imp___iob'
C:\Programme\CodeBlocks\lib/libstdc++.a(ios_init.o)(.text+0x2e9):ios_init.cc: undefined reference to `__imp___iob'
C:\Programme\CodeBlocks\lib/libstdc++.a(ios_init.o)(.text+0x74c):ios_init.cc: undefined reference to `__imp___iob'
C:\Programme\CodeBlocks\lib/libstdc++.a(ios_init.o)(.text+0x789):ios_init.cc: undefined reference to `__imp___iob'
C:\Programme\CodeBlocks\lib/libstdc++.a(ios_init.o)(.text+0x7bb):ios_init.cc: more undefined references to `__imp___iob' follow
C:\Programme\CodeBlocks\lib/libstdc++.a(misc-inst.o)(.text$_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode[__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)]+0x54):misc-inst.cc: undefined reference to `_fseeko64'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x908):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x934):locale_init.cc: undefined reference to `___gthr_win32_once'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x9bc):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x9cc):locale_init.cc: undefined reference to `___gthr_win32_mutex_lock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x9ef):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xa0f):locale_init.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xa8c):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xabd):locale_init.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xb4c):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xb5c):locale_init.cc: undefined reference to `___gthr_win32_mutex_lock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xb89):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xb9f):locale_init.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xc1c):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0xc4d):locale_init.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x158a):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x1645):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x165f):locale_init.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x16fb):locale_init.cc: undefined reference to `___gthr_win32_mutex_lock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x1748):locale_init.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x176f):locale_init.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(locale_init.o)(.text+0x18ce):locale_init.cc: undefined reference to `___gthr_win32_mutex_init_function'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0xe):eh_alloc.cc: undefined reference to `___gthr_win32_mutex_init_function'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0xb1):eh_alloc.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0xde):eh_alloc.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x138):eh_alloc.cc: undefined reference to `___gthr_win32_once'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x13e):eh_alloc.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x159):eh_alloc.cc: undefined reference to `___gthr_win32_mutex_lock'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x171):eh_alloc.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x205):eh_alloc.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x21f):eh_alloc.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x236):eh_alloc.cc: undefined reference to `___gthr_win32_mutex_unlock'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_alloc.o)(.text+0x272):eh_alloc.cc: undefined reference to `___gthr_win32_mutex_lock'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_globals.o)(.text+0x57):eh_globals.cc: undefined reference to `___gthr_win32_key_create'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_globals.o)(.text+0xe4):eh_globals.cc: undefined reference to `___gthr_win32_getspecific'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_globals.o)(.text+0x18a):eh_globals.cc: undefined reference to `___gthr_win32_getspecific'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_globals.o)(.text+0x1e2):eh_globals.cc: undefined reference to `__CRT_MT'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_globals.o)(.text+0x244):eh_globals.cc: undefined reference to `___gthr_win32_once'
C:\Programme\CodeBlocks\lib/libstdc++.a(eh_globals.o)(.text+0x26a):eh_globals.cc: undefined reference to `___gthr_win32_setspecific'
C:\Programme\CodeBlocks\lib/libstdc++.a(ctype.o)(.text+0x22):ctype.cc: undefined reference to `__imp___ctype'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0xa4):basic_file.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x2a1):basic_file.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x2c1):basic_file.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x333):basic_file.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x468):basic_file.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x48d):basic_file.cc: more undefined references to `__errno' follow
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x4ed):basic_file.cc: undefined reference to `__fstati64'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x52e):basic_file.cc: undefined reference to `__lseeki64'
C:\Programme\CodeBlocks\lib/libstdc++.a(basic_file.o)(.text+0x416):basic_file.cc: undefined reference to `__lseeki64'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x56):c++locale.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x81):c++locale.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x119):c++locale.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x13b):c++locale.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x1da):c++locale.cc: undefined reference to `__errno'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x1f2):c++locale.cc: undefined reference to `_strtold'
C:\Programme\CodeBlocks\lib/libstdc++.a(c++locale.o)(.text+0x20b):c++locale.cc: undefined reference to `__errno'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 2 seconds)

MortenMacFly

Quote from: elektronaut on November 06, 2005, 11:49:51 AM
g++.exe    -LC:\Programme\CodeBlocks\lib -o "C:\Dokumente und Einstellungen\myUser\Eigene Dateien\code\c++
Do you see this? You are linking to the CodeBlocks (thus, MinGW) libraries. You need to change the linker path to point to Cygwin as well!

Morten.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

elektronaut

Awwwe!!!;) I didn't even see it! Thanks for pointing it out!;) it now works like a charm!