gcc

Is it possible to add -pedantic to GCC command line, yet have it not warn about 'long long'

I'm using mostly GCC to develop my library, but I'd like to ensure cross-compiler compatibility and especially standard conformance as much as possible. For this, I have add several -W... flags to command line. I'd also add -pedantic, but I have a problem with its warning about long long type. The latter is important for my library an...

g++ creates several symbols of a const ?

In one of my header (C++) files I changed #define TIMEOUT 10 to the more(?) C++ way: const int TIMEOUT = 10; It seems however, g++(v 4.4.3) now includes this symbol several times in the binary. $ nm -C build/ipd/ipd |head 08050420 T ToUnixTime 08050470 T ParseTime 080504c0 T ParseISOTime 080518e4 r TIMEOUT 080518ec r TIMEOUT 08...

What makes this struct incomplete?

gcc lovingly throws me this error: bst.c:33: error: invalid application of ‘sizeof’ to incomplete type ‘struct BSTNode’ What makes BSTnode incomplete? Below are the struct definitions relevant to BSTnode. struct BSTnode{ struct BSTnode * left; struct BSTnode * right; struct hash minhash; struct hash maxhash; st...

how to add revision and build date to source

Hi! I have a gcc project and would like to automatically add defines for build date and revision number (from git) to my sources. What's the best way to do this? My goal is simple to be able to do something like this on startup: printf("Test app build on %s, revision %d", BUILD_DATE, REVISION) For building I'm using make with a simple...

Binder and variadic template ends up in a segmentation fault

I wrote the following program #include <iostream> template<typename C, typename Res, typename... Args> class bind_class_t { private: Res (C::*f)(Args...); C *c; public: bind_class_t(Res (C::*f)(Args...), C* c) : f(f), c(c) { } Res operator() (Args... args) { return (c->*f)(args...); } }; template<typename C, typename Res,...

Best environment to port C/C++ code from Linux to Windows.

I'd like to make a big project of mine buildable on Windows platforms. The project itself it's written in C/C++ following POSIX standards, with some library dependencies such as libxml2, libcurl and so on. I'm more a Linux developer rather than a Windows developer, so i have no idea of which compiler suite i should use to port the code. ...

I need to get 32 bit qt libs

Is there a quick way to obtain a set of 32 bit qt libraries? I need to put them on my 64 bit ubuntu os which already has qt installed (64 bits). ...

How can I install a new version of gcc on ubuntu

Hi, I am using ubuntu 9.10 and it comes with gcc 4.4. How can I install gcc 4.5 without screwing up my gcc 4.4. environment. I just need gcc 4.5 to compile 1 application. Thank you. ...

gcc std=gnu++0x option

Hi everyone, I need to compile a C++ code that uses std=gnu++0x option to the g++ compiler in the Makefile.am , As this option is compatible only with gcc 4.3 and above, the build crashes on my machine where i have gcc 4.2. What are my alternatives ? I tried removing that option from the Makefile.am but that reports some other error. D...

g++ not linking header files properly

I am using cygwin libraries to run C and C++ programs on Windows. gcc runs fine, but with g++, I get a long list of errors. I think these erros are because of linking problems with C libraries. Can you suggest what I need to do to fix this? beginning error lines: In file included from testgpp.cpp:1: /cygdrive/c/cygwin/bin/../lib/gc...

aligning extern constants (gcc)

I want to make some static constants globally visible. I'm pretty familiar how to do that in C++. The problem is that these constants need to be aligned to some exotic boundary. Do I have to specify the alignment in extern declaration? I'm using GCC4.5 in *.cpp file static const constant_t constant __attribute__((aligned(64))) = {blah,...

What do I need to look out for when I switch compilers from GCC 3.4.2 to a GCC 4.4.2 or to ICC?

The project I'm working with is compiled with GCC 3.4.2. I'm considering switching to a newer compiler. However, the project is at a stage where we're not making any big changes if the risks aren't well known. What sort of problems can I expect when switching compilers? What benefits does GCC 4.x give over GCC 3.4.2? What benefits...

How do I get a .so file from a .la file?

FFTW 2.x builds a .la file (under fftw/.libs directory). I think I need a .so file to link to. (I am not sure, because I am a gcc newbie). ...

Question on gcc compiler commands

I had to compile a small little C program using the following; gcc sine.c -o sine -lm I needed the "-lm" because the program included the math.h. In looking this up under compiler commands man shows it a either -llibrary or -l library. I could not find any information on what other libraries. Apparently -lm is needed for math.h what...

Is Boost.Tuple compatible with C++0x variadic templates ?

Hi, I was playing around with variadic templates (gcc 4.5) and hit this problem : template <typename... Args> boost::tuple<Args...> my_make_tuple(Args... args) { return boost::tuple<Args...>(args...); } int main (void) { boost::tuple<int, char> t = my_make_tuple(8, 'c'); } GCC error message : sorry, unimplemented: cannot expa...

What is crtbegin.o and crtbegin_dynamic.o?

When debugging a link error (undefined reference to _dso_handle) using the Android x86 toolchain, I noticed it's statically linking crtbegin_dynamic.o. What is the purpose of this file? There is another similar crtbegin.o in the toolchain install directory that contains the missing symbol (_dso_handle). What is the difference between crt...

crt0.o and crt1.o -- What's the difference?

Hello, recently I've been trying to debug some low level work and I could not find the crt0.S for the compiler(avr-gcc) but I did find a crt1.S (and the same with the corresponding .o files) What is the difference between these two files? Is crt1 something completely different or what? They both seem to have to do with something for boo...

Reference a GNU C (POSIX) DLL built in GCC against Cygwin, from C#/NET

Here is what I want: I have a huge legacy C/C++ codebase written for POSIX, including some very POSIX specific stuff like pthreads. This can be compiled on Cygwin/GCC and run as an executable under Windows with the Cygwin DLL. What I would like to do is build the codebase itself into a Windows DLL that I can then reference from C# and w...

GCC Dynamic library building problem

I am new to linux, while compiling with dynamic library I am getting the segmentationfault error. I have two files ctest1.c void ctest1(int *i) { *i =10; } ctest2.c void ctest2(int *i) { *i =20; } I have compiled both files to a shared library named libtest.so using following command gcc -shared -W1,-soname,libtest.so....

Building Boost with LSB C++ Compiler

I want to build my program with LSB C++ Compiler from the Linux Standard Base http://www.linuxfoundation.org/collaborate/workgroups/lsb. Program depends on the Boost library, built with gcc 4.4 version. Compilation fails. Is it possible to build the Boost library with LSB C++ Compiler? Alternatively, is it possible to build the Boost lib...