fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Compiling on Windows - how to use --fast-render?


From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] Compiling on Windows - how to use --fast-render?
Date: Sun, 18 Mar 2012 11:09:43 +0100
User-agent: KMail/1.13.5 (Linux/2.6.34.10-0.6-desktop; KDE/4.4.4; i686; ; )

On Sunday 18 March 2012, Dr.Leo wrote:
> Hi,
> 
> Date: Sun, 18 Mar 2012 00:27:38 -0500 (CDT)
> From: "R.L. Horn"
> <address@hidden>
> 
> ...
> It sounds like the real problem is that you have something called
> pkg-config.pc that should be called sndfile.pc.  Or is there something
> about the mingw development environment that I'm missing?
> 
> Sorry, my fault. I do have a libsndfile.pc which is in the pkg-config 
> dir. What confuses me that there is the folloing line:
> 
> prefix=c:/devel/target/libsndfile
> 
> Do I have to adjust the path to my environment? Which one would this be?

No. This prefix is not relevant. It will be replaced with the prefix from 
where the pkg-config spec file was found. 
See: http://linux.die.net/man/1/pkg-config

Quotation: "Windows Specialities

If a .pc file is found in a directory that matches the usual conventions 
(i.e., ends with \lib\pkgconfig), the prefix for that package is assumed to be 
the grandparent of the directory where the file was found, and the prefix 
variable is overridden for that file accordingly."

> block quote
> It doesn't appear that libsndfile is being linked against at all.  Is
> there anything like "-lsndfile" or "-llibsndfile" in the link.txt files?
> 
> No, there isn't, I checked both link.txt files, although I suspect only 
> the one for libfluidsynth rather than fluidsynth is relevant.

The libsndfile Windows distribution contains a "libsndfile-1.dll" along with a 
"sndfile.pc" file that does not match that DLL name. That is why I've modified 
and sent you my own modified copy, that only works if you put all files from 
libsndfile in a very specific directory structure. Please, check if this is 
your problem.
 
> Admittedly I have a steep learning curve. But I feel compiling programs 
> with various libraries is one of the more common tasks for someone with 
> somewhat special needs. Any suggestions for reading on how packages are 
> organised etc.? Is it about mingw's linker or cmake or gcc's linker on 
> Linux or something completely different?

I don't know a detailed documentation for mingw/windows. The link process in 
Linux and Windows is similar. The naming conventions are not, though. In Linux 
the dynamic libraries have the prefix "lib" and the suffix ".so", while in 
windows the prefix is usually omitted and the suffix is ".dll". In Windows is 
usual to link an import library (with suffix ".dll.a" for MinGW and ".lib" for 
MSVC) but it is not mandatory, because both linkers can work directly with the 
DLL files (and libsndfile does not provide the import library for MinGW). In 
Linux, the ".so" files are placed in the PREFIX/lib" directory, while in 
Windows the DLL should be placed at "PREFIX/bin". In Windows, only the import 
libraries are placed at PREFIX/lib, when there is one.

Regards,
Pedro



reply via email to

[Prev in Thread] Current Thread [Next in Thread]