It uses c++ as linker? No matter 1.1.6, 1.1.7 or master? Shouldnt happen. I think it's time for a full build log:
cmake -DCMAKE_VERBOSE_MAKEFILE=1 .. make > build.log You can try setting these cmake variables to gcc.exe CMAKE_LINKER CMAKE_C_LINK_EXECUTABLE CMAKE_CXX_LINK_EXECUTABLE > Cmake is trying to make a working program ONLY for the system it is running > on which is NOT what I want to do. But this is exactly how cross platform deployment works. I dont understand why you want to bundle all audio drivers (even foreign ones) in a single dll. Think about it: How would you compile fluidsynth with ALSA or OSS support on windows? The ABI and calling conventions between different OSs vary. I dont see how this could work. And unless you want to privately fork fluidsynth, writing a custom makefile is IMO the worst choice you could make. If upstream changes anything related to the buildsystem your build will break. Tom Am Sonntag, 19. November 2017, 15:40:58 CET schrieben Sie: > Hi Tom > I am now working with version 1.1.8. which has the same linker problem as all > the others. > Thanks for your reply and am interested and surprised to hear that you do not > have any solution to thelinker errors. > Having done a bit of research it appears to me (and I could easily be wrong) > that the problem liesin compiling fluidsynth with a c++ compiler when the > header files indicate to me that the program is writtenin plain old C. > (Please tell me if I am wrong.) > The linker is looking to generate extra code which initialises all the c++ > constructors it finds. (Presumably thisis the only way to initialise a .dll > ). The fact that it does not find ANY constructors is probably causing the > error.(Inserting a dummy constructor may cure the problem). > I think the solution may be to compile fluidsynth with a C compiler. Does > cmake have any option to force usingC rather than c++. I tell it -G "MinGW > Makefiles" (there is no other useful option) so it does not know whetherit is > working with C or c++ so it goes for c++ which can (in theory) do both. > I will have to investigate portaudio. I am currently in learning mode > regarding audio interfaces but it would seemto me that fluidsynth DOES have > the capability to contain ALL of the common audio interfaces (for Mac, > Linux,and Windows) and the interface it uses depends upon which one it finds > first when it is run. This is documentedin fluidsynth's user documentation. > Cmake is trying to make a working program ONLY for the system it is running > on which is NOT what I want todo. I suspect it would be best for me to write > my own makefile and I can then put what I want into it. This willavoid me > trying to understand the mess (which usually does work) that cmake creates. > Best WishesDavid. > > From: Tom M. <tom.m...@googlemail.com> > To: David Back <csw...@yahoo.co.uk> > Cc: FluidSynth Mailing List <fluid-dev@nongnu.org> > Sent: Saturday, 18 November 2017, 12:35 > Subject: Re: [fluid-dev] pkgconfig not found > > Ok, good to hear. You should however use 1.1.8 for your testings, as the > older versions are unsupported. For those linker errors I currently cant > provide a solution. > > > I will need some extra packages to get Pulseaudio and otherLinux and mac > > sound drivers incorporated. > > Sry, never attempted to make pulseaudio run on windows myself. > > > The whole purpose of thisexercise is to get a fluidsynth.dll which has ALL > > the sound drivers available so it SHOULD work on allsystems (under Wine) > > with minimum latency. > > That would be awful job I guess, you should consider simply using portaudio, > as it provides exactly that kind of abstraction. > > Tom > > > Am Freitag, 17. November 2017, 21:20:24 CET schrieb David Back: > > Tom > > C:\MinGW32 is the correct case sensitive path, the reason for the > > discrepancy you foundis that I typed "dir c:\mingw32 > dir.txt" when I made > > the dir.txt file knowing that Windows didnot care about the case. It has > > printed what I typed in the file and not the actual real path. > > As far as I know c:\mingw32\bin\libglib-2.0-0.dll did come from the > > official mingw source -- Iupdated mingw a few days ago. I have been careful > > not to "corrupt" it with any of your files. > > The good news is that I have now got cmake working and it now runs to > > completion withouterrors. The solution was "belt and braces" I added the > > original complete unzipped foldersI downloaded from you into the > > c:\mingw32\deps\bin folder as well as the executable filesalready there (as > > in the directory listing I sent you). > > I have run the Makefile on fluidsynth-1.1.6, fluidsynth-1.1.7 and > > fluidsynth-master. > > 1.1.6 and master give a linker error "cannot find -lintl collect2.exe". The > > files intl.dlland collect2.exe are both in the mingw32 folder. I am not > > totally sure which file itcannot find because collect2.exe is in > > c:\mingw32\libexec\gcc\mingw32\6.3.0 andis not found when I type collect2 > > on the command line -- though I would expect the compilerand linker to know > > where it was located. intl.dll is in your deps folder Looking on Googlethis > > type of error is quite common but I did not find any useful solution. It is > > important that thiserror is cured, can you help? > > 1.1.7 has an obscure error in one of fluidsynth's .h files and will not > > compile any further.It will likely have the other linker error as well. I > > will not bother with this version any further. > > The two files requested are attached. Your commands to make cmake.log > > needed a bit of adjustment but file wasmade OK. Looking at this file myself > > I can see that I will need some extra packages to get Pulseaudio and > > otherLinux and mac sound drivers incorporated. Where am I supposed to get > > these? The whole purpose of thisexercise is to get a fluidsynth.dll which > > has ALL the sound drivers available so it SHOULD work on allsystems (under > > Wine) with minimum latency. > > The project is an organ, you can download it from my website > > https:\\midimusic.github.io (its calledeplayOrgan, link on home page) and > > try it out yourself. > > David > > > > > > > > From: Tom M. <tom.m...@googlemail.com> > > To: David Back <csw...@yahoo.co.uk> > > Cc: FluidSynth Mailing List <fluid-dev@nongnu.org> > > Sent: Friday, 17 November 2017, 16:52 > > Subject: Re: [fluid-dev] pkgconfig not found > > > > Ok, your environment looks good so far. The only thing that strikes me is > > that your %PATH% contains C:\MinGW32 but according to `dir` it should be > > c:\mingw32. I know dirs are case insensitive on win, but I vaguely remeber > > to once have used unix software on windows that enforced case sensitivity. > > > > c:\mingw32\bin\libglib-2.0-0.dll comes from mingw installation? > > > > Please post: > > > > pkg-config --list-all > > > > rmdir fluidsynth\bluid\ /s > > mkdir build > > cd build > > cmake .. > cmake.log > > > > > > Tom > > > > > > > > > > > _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev