User forums > Using Code::Blocks

Compiling Linux Compatible Code under Windows using Cygwin

(1/1)

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.

--- Code: ---#include <iostream>

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

--- End code ---

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:

--- Code: ---int main()
{
return 0;
}

--- End code ---

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.

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++

--- End quote ---
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.

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

Navigation

[0] Message Index

Go to full version