I want to compile static library in linux for windows. Following is the procedure I followed for compiling
i586-mingw32msvc-cc -c static_lib.c -o static_lib.o
ar rv static_lib.a static_lib.o
and ranlib static_lib.a
while compiling the program in windows eclipse, the compiler gives me the following error.
static_test\static_lib.a: file format not recognized; treating as linker script
\static_test\static_lib.a:1: syntax error
collect2: ld returned 1 exit status
Build error occurred, build is stopped
The Codes are as follows:
static_lib.c
#include <stdio.h>
void func(void)
{
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
printf("Hello\n");
}
sample_static.c
#include <stdio.h>
extern void func(void);
int main ()
{
printf ("Main function\n");
func();
}
kindly give me suggestions to compile and get it work.
Regards Johnnie Alan
Try using the cross-compiler archiver instead of the native one, i.e. use i586-mingw32msvc-ar
and i586-mingw32msvc-ranlib
instead of ar
and ranlib
.
Or is that just a typo on the question?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With