emviveros/Camomile-ELSE

compile Camomile-ELSE in Windows

Closed this issue · 21 comments

I'm using Windows 10 and I get 172 errors when compiling vst3 effects, instruments and LV2 dll saying:

undeclared identifier [C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Effect\Builds\VisualStudio2015\CamomileFx_SharedCode.vcxproj]

If I try again I get the error:

MSBUILD: error MSB1009: file doesn't exist
Option: CamomileFx.sln

Hello @Drugo23 thanks for testing!

There's no need to compile vst3 plugins on Windows. Please describe your procedure.

Instructions of how to create VST3 plugins with camomile is disponible here:
https://github.com/pierreguillot/Camomile/wiki/How-to-generate-plugins

If you want to compile Camomile-ELSE yourself, you will need to have Visual Studio 2015 installed. Instructions to compile Camomile-ELSE can be found here:
https://github.com/emviveros/Camomile-ELSE/wiki/Compiling-Camomile-ELSE-in-Windows-10

Anyway your error maybe are related to mess with directory paths.

I assume you will install git-portable in folder: C:\Users\<<your_user>>\Documents\
If it's ok we can track were is the problem.

let me know if I helped

I remember another thing!! If you are trying to compile Camomile-ELSE, it will not work until next release..

What happened is to compile Camomile-ELSE to windows @porres made a lot of changes in ELSE, these changes will be reflected in next release of ELSE.

Sorry about that..

i guess we can close this?

Hi!

I followed all the steps showed here:

https://github.com/emviveros/Camomile-ELSE/wiki/Compiling-Camomile-ELSE-in-Windows-10

It worked out until “Now compile Camomile-Else VST3 Effects”...

If I understood correctly, I don’t need to compile VST3 in Win so everything should already work but I need to wait the next release of ELSE, right?

The directory I have used is User\User-Name\Documents\PortableGit.... so it should be correct.

@Drugo23, seems you doing it right! The problem is Camomile-ELSE repository wich not ready to compile in Windows until ELSE beta36 release. At this moment only Mac and Linux compilation are working. To use Camomile-ELSE in Windows, please use binary files disponible in release session. I will write a warning in initial repository page and in documentation of Windows compilation warning that.

@porres I think we can close this issue after next release to let anyone else try to compile Camomile-ELSE in Windows.

Camomile-ELSE repository now is ready to compile in Windows to.

Hi!
I have just tried to compile it again but I am not able to make it work. I did the same steps as before, everything works but I get 1 error when compiling VST3 effects, instruments and LV2 (same error for all):

"C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\LV2\Builds\VisualStudio2015\CamomileLV2.sln" (default destination) (1) ->
"C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\LV2\Builds\VisualStudio2015\CamomileLV2_DynamicLibrary.vcxproj" (default destination) (2) ->
(destination: Link) ->
LINK : fatal error LNK1181: cannot open input file 'libpd-multi-static.lib' [C:\Users\Paolo\Documents\PortableGit\Cam
omile-ELSE\LV2\Builds\VisualStudio2015\CamomileLV2_DynamicLibrary.vcxproj]

Are you have installed Visual Studio 2015 Community version? If you have it installed correctly, can you verify if you have spaces in name path? I found it as possible cause of your error.

https://docs.microsoft.com/pt-br/cpp/error-messages/tool-errors/linker-tools-error-lnk1181?view=msvc-160

I did installed Visual Studio 2015 Community Version and all the paths should be correct. Actually...How can I make sure they are? Also, Is the LV2 directory correct? (C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\LV2\Builds\VisualStudio2015)

This is very weird...

The file libpd-multi-static.lib located at <your_path>\Camomile-ELSE\Dependencies\LibPdBuild are related with the process of compilation of LibPd.

@Drugo23 please verify if file libpd-multi-static.lib is present in your system.

Can’t find libpd-multi-static.lib in my system. What should I do? Thanks

Maybe you won't compiled libpd. The process of compilation of Camomile requires you compile lidbp to.

libpd compilation process to compile Camomile-ELSE is described here

I will recomend you to delete the Camomile-ELSE directory and clone it all again. Or better start from begin of compilation process again, which consist on:

1 ) Compile pthread - pthread is required for compile libpd.

2 ) After pthread compilation completed you are ready to compile Camomile-ELSE.

2.1) Clone the Camomile-ELSE repository - don't forget --recursive flag, it guarantee git will download all dependencies linked in Camomile-ELSE repository, including libpd.

2.2) Copy pthread to get repository ready for compilation.

2.3) Compile libpd - That's the step!!!! It will generate libpd-multi-static.lib file.

2.4) And now compile Camomile-ELSE Camomile-ELSE to create vst3 Effects, Camomile-ELSE to create vst3 Instrument and Camomile-ELSE to create LV2 plugins.

After finished the compilation the vst3 and dll files will be created in Camomile-ELSE\Plugins folder. To use ELSE library you will need to manually add the ELSE abstractions in your pd patch folder it step aren't documented yet. But you only need to copy the ELSE-Abstractions folder to your pd patch folder and rename it to else.

All the files needed are included in the release files.

LV2 plugins creation aren't tested to... If you can test it will be awesome! What I know is Pierre (Camomile developer and real creator of this stuff) are working to compile all needed files to. At this moment I'm packaging the files precompiled to make LV2 plugins usable (in theory).

I have just tried to do everything from the begin of compilation process, but I still get that error, and I can't find libpd-multi-static.lib in my system. there are several warnings when I copy pthread-win32 compilation to appropriate directory in "Camomile-ELSE\Dependencies" :

cl : Command line warning D9002: ignoring unknown option '/arch:SSE' [C:\Users\Paolo\Documents\PortableGit\pthread-win3
2\pthread_lib.2015.vcxproj]

and also a lots of warning regarding the compilation of effects and instruments in cmd prompt like:

......\Source\PluginLookAndFeel.cpp(94): warning C4244: 'argument': conversion from 'float' to 'int', possible loss of data [C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Effect\Builds\VisualStudio2015
\CamomileFx_SharedCode.vcxproj]

but I think the main problem is:

LINK : fatal error LNK1181: cannot open input file 'libpd-multi-static.lib' [C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Effect\Builds\VisualStudio2015\CamomileFx_VST3.vcxproj]

Is it possible that libpd-multi-static.lib has another name? Where should this file be?

libpd-multi-static.lib is created when you compile libpd (step 2.3), and it will be created at <your-path>\Camomile-ELSE\Dependencies\LibPdBuild\VisualStudio2015 .

Appears that step 2.3 are not correctly executed.

Please, after you execute the third line in libpd compilation process what return the command line prompt returns?

That's what command line return when I compile Libpd:

C:\WINDOWS\system32>cd C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Dependencies\LibPdBuild\VisualStudio2015

C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Dependencies\LibPdBuild\VisualStudio2015>
C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Dependencies\LibPdBuild\VisualStudio2015>"C:\Program Files\CMake\bin\cmake.exe" -G "Visual Studio 14 2015 Win64" ..
-- Selecting Windows SDK version to target Windows 10.0.19042.
-- The C compiler identification is MSVC 19.0.24215.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Paolo/Documents/PortableGit/Camomile-ELSE/Dependencies/LibPdBuild/VisualStudio2015

Sorry for delay!! Too busy!

Seems ok!

but you have ran these command after(?):

"C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild.exe" libpd.sln /t:libpdstatic /nologo /verbosity:quiet /p:Configuration=Release /p:Platform=x64

Here I have after ran it:

C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibPd\pure-data\src\s_net.c(245): warning C4244: '=': conv
ersion from 'float' to 'long', possible loss of data [C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibP
dBuild\VisualStudio2015\libpdstatic.vcxproj]
C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibPd\pure-data\src\x_text.c(552): warning C4090: 'functio
n': different 'const' qualifiers [C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibPdBuild\VisualStudio2
015\libpdstatic.vcxproj]
C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibPd\pure-data\src\x_text.c(552): warning C4028: formal p
arameter 3 different from declaration [C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibPdBuild\VisualSt
udio2015\libpdstatic.vcxproj]
c:\users\user\desktop\portablegit\camomile-else\dependencies\libpd\pure-data\src\x_text.c(529): warning C4700: uninitia
lized local variable 'nlines' used [C:\Users\User\Desktop\PortableGit\Camomile-ELSE\Dependencies\LibPdBuild\VisualStudi
o2015\libpdstatic.vcxproj]

and after that I have libpd-multi-static.lib in Camomile-ELSE\Dependencies\LibPdBuild\VisualStudio2015 folder...

Hi, I have just compiled effects, instruments and LV2, everything seems ok now!

I'm now trying to generate PdStal as a plugin following this example: https://github.com/pierreguillot/Camomile/wiki/How-to-generate-plugins

I'm copying Camomile.vst3 (and renamed it as PdStal) from
C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Plugins\VST3

to:
C:\Users\Paolo\Documents\PortableGit\Camomile-ELSE\Plugins\Examples\PdStal

then I move the PdStal folder to:
C:\Program Files\Common Files\VST3

In my daw it appears PdStal as vst3 so I open an abstraction with osc~ and bl.saw~ linked to de dac~ but only osc~ is working.

Am I missing something?

bl.saw is an abstraction. So you need to include ELSE abstractions in the structure of your plugin. In the release package of Camomile-ELSE you have all abstraction in the folder else, but you are compiling yourself, you will need to take abstractions manually.

All else abstractions are included in Camomile-ELSE/Source/Pd/ELSE/Abstractions Take this folder and rename it as 'else'. Now in your patch test instatiate bl.saw as else/bl.saw. Now it should be work

Thanks again for your help. I have tried to open another test patch with saw~ and bl.saw~ with PdStal. The good thing is that saw~ is working! but bl.saw~ is not.

This is what I have tried so far:

  • renamed Camomile-ELSE/Source/Pd/ELSE/Abstractions as "else" (I actually have two directory for Camomile-ELSE one in C:\ and one in C:\Users\Paolo\Documents\PortableGit, I renamed both)

  • renamed bl.saw as else/bl.saw

  • copied "else", in C:\Program Files\Common Files\VST3\PdStal

  • copied "bl.saw", in C:\Program Files\Common Files\VST3\PdStal

  • copied all the abstractions in in C:\Program Files\Common Files\VST3\PdStal

none of these works.

also, if I rename saw~ as else/saw~ it's not working anymore, is this normal?

Well seems like you compiled successfully Camomile-ELSE once saw~ (wich is a compiled external object) is running well.

Please open another issue to better track these problems of workflow in future, maybe what is happening is that we are not being able to use abstractions from ELSE in the patches and we need to fine tune this workflow. For these I ask you to open another issue and cite this issue in it. ok!? :)