I am currently using code::blocks but i am experinsing trouble trying to link the ws2_32.lib and other libraries. I tried visual studio express but it doesnt work with me. What are some good FREE c++ compilers that have very easy library linking and are rather user-friendly and that i can use to build network programs in.

Oh and i am using windows 7 64 bit.


6 Years
Discussion Span
Last Post by MasterHacker110

Those are the two best compilers/IDEs for MS-Windows operating system. Exactly what are the problems you are having?

I am currently using code::blocks but i am experinsing trouble trying to link the ws2_32.lib

Code::Bloocks doesn't use libraries with *.lib extension -- it uses *.a because CB is calling a *nix port of g++ compiler. You need to link with libws2_32.a, not ws2_32.lib


The problems you are reporting is not a matter of compiler issues, it is simply the fact that you don't understand that code that is built and made to link to MSVC compilers cannot link with code that you compile with GCC (used by CodeBlocks, through the MinGW port of the Unix-based GCC compiler).

As far as having a compiler that makes everything easy, well, you are not going to get that, not under Windows. There are only a few good compilers (ICC, MSVC, GCC, CLang, Comeau, BCB, etc.) and they all use either GCC's linking standard (which is the POSIX standard (as in Unix/Linux)), or they use MSVC's linking standard, or they use their one (like BCB), and none will be easy to work with, because Windows is a crappy development environment.

Things related to this will get easier as you get to understand how the whole process works (building, compilation, linking, loading, etc.). This is just something you need to learn, it is part of the technical details to know. Once you know them, you won't try to do outlandish things like linking a .lib file to a GCC project.


Lol that is my code, i am trying to learn to make a network program so used that code to learn from. and thanks i figured how the compiler works, now linking like hell.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.