[BUGS] Libpq.dll: File not recognized
Hi all, I downloaded the "one-click" installer for PostgreSQL 9.0 beta2 for Windows x64 (postgresql-9.0.0-beta2-windows-x64.exe) and installed it on my Windows 7 64 bit system. Installation seemed to go off without a hitch, but when I tried to link to libpq in my project I received the following error. C:\Program Files\PostgreSQL\lib/libpq.dll: file not recognized: File format not recognized collect2: ld returned 1 exit status I originally thought that this might have something to do with the use of different compilers/linkers (compiler/linker that I am using compared to the one used with to build libpq), but now Im not so sure. Some system info. OS: Windows 7 64-bit MSYS ver: 1.0.14 MinGW ver: 4.5.0 Make ver: GNU make 3.81 If it matters . My IDE is Eclipse Galileo and I am compiling my project using the MinGW toolchain. Regards Bidski
Re: [BUGS] Libpq.dll: File not recognized
John R Pierce writes: wild guess says your project is 64 bit, but libpq.dll is 32 bit. Why would there be a 32bit dll in the 64bit pre-built package? Regards Bidski -- From: "John R Pierce" Sent: Thursday, July 01, 2010 8:34 AM To: Subject: Re: [BUGS] Libpq.dll: File not recognized On 06/30/10 3:23 PM, Bidski wrote: Hi all, I downloaded the "one-click" installer for PostgreSQL 9.0 beta2 for Windows x64 (postgresql-9.0.0-beta2-windows-x64.exe) and installed it on my Windows 7 64 bit system. Installation seemed to go off without a hitch, but when I tried to link to libpq in my project I received the following error. C:\Program Files\PostgreSQL\lib/libpq.dll: file not recognized: File format not recognized collect2: ld returned 1 exit status I originally thought that this might have something to do with the use of different compilers/linkers (compiler/linker that I am using compared to the one used with to build libpq), but now Im not so sure. Some system info. OS: Windows 7 64-bit MSYS ver: 1.0.14 MinGW ver: 4.5.0 Make ver: GNU make 3.81 If it matters . My IDE is Eclipse Galileo and I am compiling my project using the MinGW toolchain. wild guess says your project is 64 bit, but libpq.dll is 32 bit. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
Re: [BUGS] Libpq.dll: File not recognized
John R Pierce writes: look and see if there's another /lib64/ or similar directory ? Nope, no lib64 directory or anything like that, just lib directory. I didn't notice earlier that you are running the postgres 9 beta. Yep, Im running PostgreSQL 9.0 beta2 Regards Bidski -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
Re: [BUGS] Libpq.dll: File not recognized
"Dave Page" writes: Don't link against the DLL, link against the .lib. Isnt the .lib the static library and the dll the shared library? And Im not linking against the dll specifically, that is the library that g++ is wanting to link to. My link command is g++ -Wl,--enable-auto-import -o"MRP.exe" ./src/DB.o ./src/catlist.o ./src/inventory.o ./src/mrp_app.o ./src/mrp_frame.o ./res/resources.rc.o -lpq -L"C:\MinGW\lib" -L"C:\Program Files\PostgreSQL\lib" -mwindows `wx-config --libs base,core,adv,xrc` The server is built with VC++ 2008 - I have no idea if Mingw can use 64bit VC++ libraries. I also have no idea for certain, but I should think so. My understanding of the whole thing is that a DLL made for windows should be linkable to any windows application regardless of compiler/linker, if its not then what is the point? Regards Bidski -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs