Thread: [Dev-C++] linker error when cross compiling thru cygwin
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
From: Tim R. <tm...@al...> - 2008-07-14 18:52:38
|
hey all, I'm trying to use gsl to do some linear algebra, and right now I'm just trying to compile this example code from the gnu website: #include <stdio.h> #include <gsl/gsl_linalg.h> int main (void) { double a_data[] = { 0.18, 0.60, 0.57, 0.96, 0.41, 0.24, 0.99, 0.58, 0.14, 0.30, 0.97, 0.66, 0.51, 0.13, 0.19, 0.85 }; double b_data[] = { 1.0, 2.0, 3.0, 4.0 }; gsl_matrix_view m = gsl_matrix_view_array (a_data, 4, 4); gsl_vector_view b = gsl_vector_view_array (b_data, 4); gsl_vector *x = gsl_vector_alloc (4); int s; gsl_permutation * p = gsl_permutation_alloc (4); gsl_linalg_LU_decomp (&m.matrix, p, &s); gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x); printf ("x = \n"); gsl_vector_fprintf (stdout, x, "%g"); gsl_permutation_free (p); gsl_vector_free (x); return 0; } I'm using a crosstool through cygwin to compile for an ARM processor. The compile log looks like this: Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" Executing make... make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" Executing make... make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/arm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas test-gsl.o(.text+0x60): In function `main': : undefined reference to `gsl_matrix_view_array' test-gsl.o(.text+0x78): In function `main': : undefined reference to `gsl_vector_view_array' test-gsl.o(.text+0x80): In function `main': : undefined reference to `gsl_vector_alloc' test-gsl.o(.text+0x90): In function `main': : undefined reference to `gsl_permutation_alloc' test-gsl.o(.text+0xac): In function `main': : undefined reference to `gsl_linalg_LU_decomp' test-gsl.o(.text+0xc4): In function `main': : undefined reference to `gsl_linalg_LU_solve' test-gsl.o(.text+0xe0): In function `main': : undefined reference to `gsl_vector_fprintf' test-gsl.o(.text+0xe8): In function `main': : undefined reference to `gsl_permutation_free' test-gsl.o(.text+0xf0): In function `main': : undefined reference to `gsl_vector_free' collect2: ld returned 1 exit status make.exe: *** [gsl-test.exe] Error 1 Execution terminated the reason that this confuses me is that I have the libraries stored in: C:\cygwin\lib and the includes for gsl in: C:\cygwin\usr\include. If anybody can help me out I will be eternally grateful. TMR |
From: Per W. <pw...@ia...> - 2008-07-18 00:12:02
|
You don't specify what library to use. C and C++ do not automagically try all libraries, just because you add them in your search path. -L <directory> just tells the linker where to look for a library that you have explicitly included in the linking. There are a few exceptions, which allows the standard RTL to be linked without you specifying the name. If you somewhere in all the library directories you specified has a file named libgsl.a, then you should have had a -lgsl to tell the linker to make use of this gsl library. /pwm On Mon, 14 Jul 2008, Tim Rambo wrote: > hey all, > > I'm trying to use gsl to do some linear algebra, and right now I'm just trying to compile this example code from the gnu website: > > #include <stdio.h> > #include <gsl/gsl_linalg.h> > > > int > main (void) > { > double a_data[] = { 0.18, 0.60, 0.57, 0.96, > 0.41, 0.24, 0.99, 0.58, > 0.14, 0.30, 0.97, 0.66, > 0.51, 0.13, 0.19, 0.85 }; > > double b_data[] = { 1.0, 2.0, 3.0, 4.0 }; > > gsl_matrix_view m > = gsl_matrix_view_array (a_data, 4, 4); > > gsl_vector_view b > = gsl_vector_view_array (b_data, 4); > > gsl_vector *x = gsl_vector_alloc (4); > > int s; > > gsl_permutation * p = gsl_permutation_alloc (4); > > gsl_linalg_LU_decomp (&m.matrix, p, &s); > > gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x); > > printf ("x = \n"); > gsl_vector_fprintf (stdout, x, "%g"); > > gsl_permutation_free (p); > gsl_vector_free (x); > return 0; > } > > > I'm using a crosstool through cygwin to compile for an ARM processor. The compile log looks like this: > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/arm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > > test-gsl.o(.text+0x60): In function `main': > : undefined reference to `gsl_matrix_view_array' > test-gsl.o(.text+0x78): In function `main': > : undefined reference to `gsl_vector_view_array' > test-gsl.o(.text+0x80): In function `main': > : undefined reference to `gsl_vector_alloc' > test-gsl.o(.text+0x90): In function `main': > : undefined reference to `gsl_permutation_alloc' > test-gsl.o(.text+0xac): In function `main': > : undefined reference to `gsl_linalg_LU_decomp' > test-gsl.o(.text+0xc4): In function `main': > : undefined reference to `gsl_linalg_LU_solve' > test-gsl.o(.text+0xe0): In function `main': > : undefined reference to `gsl_vector_fprintf' > test-gsl.o(.text+0xe8): In function `main': > : undefined reference to `gsl_permutation_free' > test-gsl.o(.text+0xf0): In function `main': > : undefined reference to `gsl_vector_free' > collect2: ld returned 1 exit status > make.exe: *** [gsl-test.exe] Error 1 > > Execution terminated > > the reason that this confuses me is that I have the libraries stored in: C:\cygwin\lib and the includes for gsl in: C:\cygwin\usr\include. If anybody can help me out I will be eternally grateful. > > > TMR > > > |
From: Tim R. <tm...@al...> - 2008-07-18 12:22:45
|
Actually, if you look at the end of the compile log, I did. > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/arm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas I've been thinking that its possible the library needs to be built using my crosstool, does this sound reasonable? have been attempting to get gsl built with my crosstool in cygwin. but I am having problems with that as well. >>> Per Westermark <pw...@ia...> 7/17/2008 8:11 PM >>> You don't specify what library to use. C and C++ do not automagically try all libraries, just because you add them in your search path. -L <directory> just tells the linker where to look for a library that you have explicitly included in the linking. There are a few exceptions, which allows the standard RTL to be linked without you specifying the name. If you somewhere in all the library directories you specified has a file named libgsl.a, then you should have had a -lgsl to tell the linker to make use of this gsl library. /pwm On Mon, 14 Jul 2008, Tim Rambo wrote: > hey all, > > I'm trying to use gsl to do some linear algebra, and right now I'm just trying to compile this example code from the gnu website: > > #include <stdio.h> > #include <gsl/gsl_linalg.h> > > > int > main (void) > { > double a_data[] = { 0.18, 0.60, 0.57, 0.96, > 0.41, 0.24, 0.99, 0.58, > 0.14, 0.30, 0.97, 0.66, > 0.51, 0.13, 0.19, 0.85 }; > > double b_data[] = { 1.0, 2.0, 3.0, 4.0 }; > > gsl_matrix_view m > = gsl_matrix_view_array (a_data, 4, 4); > > gsl_vector_view b > = gsl_vector_view_array (b_data, 4); > > gsl_vector *x = gsl_vector_alloc (4); > > int s; > > gsl_permutation * p = gsl_permutation_alloc (4); > > gsl_linalg_LU_decomp (&m.matrix, p, &s); > > gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x); > > printf ("x = \n"); > gsl_vector_fprintf (stdout, x, "%g"); > > gsl_permutation_free (p); > gsl_vector_free (x); > return 0; > } > > > I'm using a crosstool through cygwin to compile for an ARM processor. The compile log looks like this: > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/arm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > > test-gsl.o(.text+0x60): In function `main': > : undefined reference to `gsl_matrix_view_array' > test-gsl.o(.text+0x78): In function `main': > : undefined reference to `gsl_vector_view_array' > test-gsl.o(.text+0x80): In function `main': > : undefined reference to `gsl_vector_alloc' > test-gsl.o(.text+0x90): In function `main': > : undefined reference to `gsl_permutation_alloc' > test-gsl.o(.text+0xac): In function `main': > : undefined reference to `gsl_linalg_LU_decomp' > test-gsl.o(.text+0xc4): In function `main': > : undefined reference to `gsl_linalg_LU_solve' > test-gsl.o(.text+0xe0): In function `main': > : undefined reference to `gsl_vector_fprintf' > test-gsl.o(.text+0xe8): In function `main': > : undefined reference to `gsl_permutation_free' > test-gsl.o(.text+0xf0): In function `main': > : undefined reference to `gsl_vector_free' > collect2: ld returned 1 exit status > make.exe: *** [gsl-test.exe] Error 1 > > Execution terminated > > the reason that this confuses me is that I have the libraries stored in: C:\cygwin\lib and the includes for gsl in: C:\cygwin\usr\include. If anybody can help me out I will be eternally grateful. > > > TMR > > > |
From: Per W. <pw...@ia...> - 2008-07-18 13:14:41
|
Oops, yes you are correct - I missed that one. It is so common that people only includes their header files and specify the correct library directories that I more or less take for granted that the actual -lxx parameter is missing :) /pwm On Fri, 18 Jul 2008, Tim Rambo wrote: > Actually, if you look at the end of the compile log, I did. > > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > > Executing make... > > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/arm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > I've been thinking that its possible the library needs to be built using my crosstool, does this sound reasonable? have been attempting to get gsl built with my crosstool in cygwin. but I am having problems with that as well. > > > >>> Per Westermark <pw...@ia...> 7/17/2008 8:11 PM >>> > You don't specify what library to use. > > C and C++ do not automagically try all libraries, just because you add > them in your search path. -L <directory> just tells the linker where to > look for a library that you have explicitly included in the linking. There > are a few exceptions, which allows the standard RTL to be linked without > you specifying the name. > > If you somewhere in all the library directories you specified has a file > named libgsl.a, then you should have had a -lgsl to tell the linker to > make use of this gsl library. > > /pwm > > On Mon, 14 Jul 2008, Tim Rambo wrote: > > > hey all, > > > > I'm trying to use gsl to do some linear algebra, and right now I'm just trying to compile this example code from the gnu website: > > > > #include <stdio.h> > > #include <gsl/gsl_linalg.h> > > > > > > int > > main (void) > > { > > double a_data[] = { 0.18, 0.60, 0.57, 0.96, > > 0.41, 0.24, 0.99, 0.58, > > 0.14, 0.30, 0.97, 0.66, > > 0.51, 0.13, 0.19, 0.85 }; > > > > double b_data[] = { 1.0, 2.0, 3.0, 4.0 }; > > > > gsl_matrix_view m > > = gsl_matrix_view_array (a_data, 4, 4); > > > > gsl_vector_view b > > = gsl_vector_view_array (b_data, 4); > > > > gsl_vector *x = gsl_vector_alloc (4); > > > > int s; > > > > gsl_permutation * p = gsl_permutation_alloc (4); > > > > gsl_linalg_LU_decomp (&m.matrix, p, &s); > > > > gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x); > > > > printf ("x = \n"); > > gsl_vector_fprintf (stdout, x, "%g"); > > > > gsl_permutation_free (p); > > gsl_vector_free (x); > > return 0; > > } > > > > > > I'm using a crosstool through cygwin to compile for an ARM processor. The compile log looks like this: > > > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > > Executing make... > > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > > > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > > Executing make... > > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/arm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/usr/include -lgsl -lm -lgslcblas > > > > test-gsl.o(.text+0x60): In function `main': > > : undefined reference to `gsl_matrix_view_array' > > test-gsl.o(.text+0x78): In function `main': > > : undefined reference to `gsl_vector_view_array' > > test-gsl.o(.text+0x80): In function `main': > > : undefined reference to `gsl_vector_alloc' > > test-gsl.o(.text+0x90): In function `main': > > : undefined reference to `gsl_permutation_alloc' > > test-gsl.o(.text+0xac): In function `main': > > : undefined reference to `gsl_linalg_LU_decomp' > > test-gsl.o(.text+0xc4): In function `main': > > : undefined reference to `gsl_linalg_LU_solve' > > test-gsl.o(.text+0xe0): In function `main': > > : undefined reference to `gsl_vector_fprintf' > > test-gsl.o(.text+0xe8): In function `main': > > : undefined reference to `gsl_permutation_free' > > test-gsl.o(.text+0xf0): In function `main': > > : undefined reference to `gsl_vector_free' > > collect2: ld returned 1 exit status > > make.exe: *** [gsl-test.exe] Error 1 > > > > Execution terminated > > > > the reason that this confuses me is that I have the libraries stored in: C:\cygwin\lib and the includes for gsl in: C:\cygwin\usr\include. If anybody can help me out I will be eternally grateful. > > > > > > TMR > > > > > > > > |
From: Noel W. <nw...@ny...> - 2008-07-28 03:46:45
|
Hi All; I would like to compile and run a multithreaded cppluss program using pthread library how is this done. HYPERLINK "outbind://35/Wally_files/image001.gif" NWallen -----Original Message----- From: dev...@li... [mailto:dev...@li...] On Behalf Of Tim Rambo Sent: Friday, July 18, 2008 8:24 AM To: Per Westermark Cc: dev...@li... Subject: Re: [Dev-C++] linker error when cross compiling thru cygwin Actually, if you look at the end of the compile log, I did. > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/l ib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/a rm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-li nux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-li nux-gnu/usr/include -lgsl -lm -lgslcblas I've been thinking that its possible the library needs to be built using my crosstool, does this sound reasonable? have been attempting to get gsl built with my crosstool in cygwin. but I am having problems with that as well. >>> Per Westermark <pw...@ia...> 7/17/2008 8:11 PM >>> You don't specify what library to use. C and C++ do not automagically try all libraries, just because you add them in your search path. -L <directory> just tells the linker where to look for a library that you have explicitly included in the linking. There are a few exceptions, which allows the standard RTL to be linked without you specifying the name. If you somewhere in all the library directories you specified has a file named libgsl.a, then you should have had a -lgsl to tell the linker to make use of this gsl library. /pwm On Mon, 14 Jul 2008, Tim Rambo wrote: > hey all, > > I'm trying to use gsl to do some linear algebra, and right now I'm just trying to compile this example code from the gnu website: > > #include <stdio.h> > #include <gsl/gsl_linalg.h> > > > int > main (void) > { > double a_data[] = { 0.18, 0.60, 0.57, 0.96, > 0.41, 0.24, 0.99, 0.58, > 0.14, 0.30, 0.97, 0.66, > 0.51, 0.13, 0.19, 0.85 }; > > double b_data[] = { 1.0, 2.0, 3.0, 4.0 }; > > gsl_matrix_view m > = gsl_matrix_view_array (a_data, 4, 4); > > gsl_vector_view b > = gsl_vector_view_array (b_data, 4); > > gsl_vector *x = gsl_vector_alloc (4); > > int s; > > gsl_permutation * p = gsl_permutation_alloc (4); > > gsl_linalg_LU_decomp (&m.matrix, p, &s); > > gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x); > > printf ("x = \n"); > gsl_vector_fprintf (stdout, x, "%g"); > > gsl_permutation_free (p); > gsl_vector_free (x); > return 0; > } > > > I'm using a crosstool through cygwin to compile for an ARM processor. The compile log looks like this: > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/l ib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-li nux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-li nux-gnu/usr/include -lgsl -lm -lgslcblas > > Building Makefile: "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" > Executing make... > make.exe -f "C:\Documents and Settings\student\Desktop\sepatriot\spa pc\gsl-test\Makefile.win" all > arm-unknown-linux-gnu-gcc.exe test-gsl.o -o "gsl-test.exe" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/l ib" -L"C:/cygwin/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-unknown-linux-gnu/a rm-unknown-linux-gnu/lib" -L"C:/cygwin/lib" -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-li nux-gnu/lib -L/cygdrive/c/cygwin/opt/crosstool//gcc-3.3.4-glibc-2.3.2/arm-unknown-li nux-gnu/usr/include -lgsl -lm -lgslcblas > > test-gsl.o(.text+0x60): In function `main': > : undefined reference to `gsl_matrix_view_array' > test-gsl.o(.text+0x78): In function `main': > : undefined reference to `gsl_vector_view_array' > test-gsl.o(.text+0x80): In function `main': > : undefined reference to `gsl_vector_alloc' > test-gsl.o(.text+0x90): In function `main': > : undefined reference to `gsl_permutation_alloc' > test-gsl.o(.text+0xac): In function `main': > : undefined reference to `gsl_linalg_LU_decomp' > test-gsl.o(.text+0xc4): In function `main': > : undefined reference to `gsl_linalg_LU_solve' > test-gsl.o(.text+0xe0): In function `main': > : undefined reference to `gsl_vector_fprintf' > test-gsl.o(.text+0xe8): In function `main': > : undefined reference to `gsl_permutation_free' > test-gsl.o(.text+0xf0): In function `main': > : undefined reference to `gsl_vector_free' > collect2: ld returned 1 exit status > make.exe: *** [gsl-test.exe] Error 1 > > Execution terminated > > the reason that this confuses me is that I have the libraries stored in: C:\cygwin\lib and the includes for gsl in: C:\cygwin\usr\include. If anybody can help me out I will be eternally grateful. > > > TMR > > > Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.11.2/931 - Release Date: 8/1/2007 4:53 PM Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.11.2/931 - Release Date: 8/1/2007 4:53 PM |
From: Chris M. <lor...@gm...> - 2008-07-28 05:18:28
Attachments:
signature.asc
|
Noel Wallen wrote: > > Hi All; > I would like to compile and run a multithreaded cppluss program > using pthread library how is this done. Perhaps you should learn how to use a mailing list first? You should probably start a new thread, instead of hijacking someone else's. In common speak, what you've done is rude. Also try using Google. A simple search for "pthreads howto" turned up this excellent resource: http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html I would also glean that you need further training in how to use a keyboard effectively, as I've never seen the "cppluss" language before. I assume you're really talking about C++, which is a very popular language. If this new "cppluss" language is somehow superior to C++ in some way, please let me know, since I'd be very interested to see it! -- Registered Linux Addict #431495 http://profile.xfire.com/mrstalinman | John 3:16! http://www.fsdev.net/ | http://lordsauron.wordpress.com/ |