This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Help with errors while compiling


Now that you say that. I will simplify my makefile, but then it doesn't know
what pthread_create is.. or anything related to pthread.

C:\Users\Viper\Documents\Cpp\Pthreads>"C:\Program Files\SlickEdit
2009\win\vsbuild" -signal 9009 -command make -f "Makefile" CFG=Debug
make -f Makefile CFG=Debug 
g++ -c   -g -o "Debug/Pthreads.o"  Pthreads.cpp
Pthreads.cpp:10:21: pthread.h: No such file or directory
Pthreads.cpp: In function `void* PrintHello(void*)':
Pthreads.cpp:22: error: `pthread_exit' undeclared (first use this function)
Pthreads.cpp:22: error: (Each undeclared identifier is reported only once
for each function it appears in.)
Pthreads.cpp: In function `int main(int, char**)':
Pthreads.cpp:27: error: `pthread_t' undeclared (first use this function)
Pthreads.cpp:27: error: expected `;' before "threads"
Pthreads.cpp:32: error: `threads' undeclared (first use this function)
Pthreads.cpp:32: error: `pthread_create' undeclared (first use this
Pthreads.cpp:39: error: `pthread_exit' undeclared (first use this function)
mingw32-make: *** [Debug/Pthreads.o] Error 1

The Pthreads.cpp file is perfect, I've tried it in Linux..

* FILE: hello_arg3.c
*   This "hello world" Pthreads program demonstrates an unsafe (incorrect)
*   way to pass thread arguments at thread creation.  In this case, the
*   argument variable is changed by the main thread as it creates new
* AUTHOR: Blaise Barney
* LAST REVISED: 01/30/09
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#define NUM_THREADS     8

void *PrintHello(void *threadid)
    long taskid;
printf("threadid=0x%x\n", threadid);
// sleep(1);
    taskid = (long) threadid;
    printf("Hello from thread %ld\n", taskid);

int main(int argc, char *argv[])
    pthread_t threads[NUM_THREADS];
    int rc;
    long t;
    for ( t=0;t<NUM_THREADS;t++ ) {
        printf("Creating thread %ld\n", t);
        rc = pthread_create(&threads[t], NULL, PrintHello, (void *) t);
        if ( rc ) {
            printf("ERROR; return code from pthread_create() is %d\n", rc);


Dave Korn-6 wrote:
> Afflictedd2 wrote:
>> I'm trying to build a simple program using pthreads, but I get the
>> following
>> errors, why?
>> g++ -c   -g -o "Debug/Pthreads.o" -I/Cygwin/usr/include  Pthreads.cpp
>                                    ^^^^^^^^^^^^^^^^^^^^^^
>   Don't do that, for a start.  The compiler knows about all the system's
> default include directories already, and has them in a carefully-placed
> search
> order.  If you're lucky, it will just ignore that -I option; if you're
> unlucky
> it might be messing things up.
>   If that doesn't fix it you'll need to try and show us a small simple
> testcase; sounds like whatever it is, we'd just need the first ten lines
> of
> your Pthreads.cpp file (up to the #include that prompts the first errors)
> in
> order to try and reproduce it.
>     cheers,
>       DaveK
> --
> Problem reports:
> FAQ:         
> Documentation:
> Unsubscribe info:

View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]