Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Hot Topic (More than 8 Replies) Compiler stuff fills SSD (Read 6116 times)
Red Baron
Member
***
Offline


Posts: 112
Location: Germany
Joined: Jul 29th, 2015
Compiler stuff fills SSD
Jul 5th, 2018 at 10:07am
Print Post  
Hi,

I'm using
VS2017 15.7.4
VM 1.1806.1 Minor 180701 (from options -> Visual Micro -> General)

First there is an inconsistent version naming. VM's https://www.visualmicro.com/page/Visual-Micro-Product-Version-History-Fixes-and-... declares version 1807.1 as the current version number. Did you mix up major and minor?

Then, when compiling a program for ESP8266, the project folder gets a new folder named "Release" filled with ".elf", ".bin", ".o" and other files. In fomer times these files had been written to the "temp" folder.

I my case the project folder -containing the source code- is placed on a SSD and is archived frequently. I want these files back to my "temp" folder which is on a standard HD. The files reduce my disc capacity and the remaining write cycles on the SSD and need not to be archived.

Kind regards Red Baron
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #1 - Jul 5th, 2018 at 5:45pm
Print Post  
Hi,

Quote:
First there is an inconsistent version naming. VM's https://www.visualmicro.com/page/Visual-Micro-Product-Version-History-Fixes-and-.... declares version 1807.1 as the current version number. Did you mix up major and minor?

Since moving from the the old Add-in to a Visual Studio Extension we have had to use the gallery extension version to manage gallery submissions. The gallery extension version is seen in tools>extensions and updates and it is the only version of significance these days. The minor version in tools>options should reflect the gallery extension version. Altering the major version in tools>options causes the visual micro "new release" dialog to appear for users which can be annoying so only happens every few months.

The gallery version is also shown on the download page


Quote:
Then, when compiling a program for ESP8266, the project folder gets a new folder named "Release" filled with ".elf", ".bin", ".o" and other files. In fomer times these files had been written to the "temp" folder.

I my case the project folder -containing the source code- is placed on a SSD and is archived frequently. I want these files back to my "temp" folder which is on a standard HD. The files reduce my disc capacity and the remaining write cycles on the SSD and need not to be archived.


Visual Micro has attempted to do this for a long time because both Visual Studio and Atmel Studio do it for all other types of project. It is also useful for people who don't know how to switch on the temp folder path in the compiler output and for a lot of people who don't understand arduino has a temp build folder.

The "intermediate" location is a common visual studio project property which Visual Micro makes uses of. It is possible that in the last releases if the intermediate folder did not exist then Visual Micro creates it. When in previous releases I think it just skipped the copy. 

I think you should be able to clear the path in "project property pages>intermediate directory" and then Visual Micro will not copy to that location or change to a temp folder that you create on a different disk.

The "output directory" is also used for the final export for some boards. Some newer hardware defs contain a "savehex" instruction which the arduino ide uses to export a resulting bin or elf etc (with the current board variant in the name) to the project folder. Visual Micro allows you to specify an alternate location using the "output directory". By default Visual Studio sets the output directory to "solution/configurationName". You can either move your solution to a different drive or set the path to be a temp folder somewhere that you have created.

Let me know if something doesn't work as stated or is unclear.
  
Back to top
IP Logged
 
Red Baron
Member
***
Offline


Posts: 112
Location: Germany
Joined: Jul 29th, 2015
Re: Compiler stuff fills SSD
Reply #2 - Jul 6th, 2018 at 1:30pm
Print Post  
Version: You should delete outdated informations. This will prevent misunderstandings during troubleshooting.

Folders: Specifying  a different path at "intermediate directory" works as expected. 

You still do the build job inside the temp folder (folder "VMBuilds"). After building you copy the result files to the folder specified by "intermediate directory". Is this correct? Is there a method to specify the path for "intermediate directory" for all VM projects or do I have to set them individually for each project? 

With "recipe.hooks.sketch.postbuild.NUMBER.pattern" you can specify actions to be executed after the build process. Is this action done before or after copying the files?
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #3 - Jul 7th, 2018 at 4:01pm
Print Post  
The latest release (1807.7) prevents copy of output and also prevents VS2017 ms build from creating the Intermediate Folder unless enabled with a new menu item "vMicro>Compiler>Copy Output to Intermediate"

Thanks
« Last Edit: Jul 7th, 2018 at 6:11pm by Tim@Visual Micro »  
Back to top
IP Logged
 
Red Baron
Member
***
Offline


Posts: 112
Location: Germany
Joined: Jul 29th, 2015
Re: Compiler stuff fills SSD
Reply #4 - Jul 8th, 2018 at 5:24pm
Print Post  
Great! Thanks
  
Back to top
 
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #5 - Jul 22nd, 2018 at 1:03pm
Print Post  
Hello,
it is also important for me. I need output files in project/Release folder and it was so for a long time. Suddenly, on all my PCs this folder moved to C:\users... etc.
In project properties page there is:
Output folder $(SolutionDir)$(Configuration)\ and it definitely points to project/Release folder.

What else do I need to correct?
« Last Edit: Jul 22nd, 2018 at 1:06pm by Kabron »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #6 - Jul 22nd, 2018 at 1:12pm
Print Post  
Hi,

Yes I know I am sorry. I am trying to determine the best default. The one that gets people blogging and posting about Visual Micro instead of 8 years of next to nothing. So all feedback is appreciated thank you.

If you see the release notes you will notice there is a new vMicro compiler menu item. "vMicro>Compiler>Always Copy To Intermediate". The menu item allows you to control if the output should be copied to the "Intermediate Directory". This is what you are describing and if you switch on the menu item it continues to copy the output as before.

The issues comes from the fact it is easy to end up with the solution and project folder as the same place. Then the output is copied below the project folder in Release or Debug etc. which would be considered "messy" by people unused to VS or AS7.

Tip for others: The "Intermediate Directory" is configured via the project Property Pages. The "Output Directory" is used if a board core has an export (SaveHex) pattern which usually just copies the project_name.variant_name.elf or bin) to the "Output Directory". (note: The Arduino IDE has a fixed output directory which is the same as the project folder)
« Last Edit: Jul 22nd, 2018 at 1:15pm by Tim@Visual Micro »  
Back to top
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #7 - Jul 22nd, 2018 at 1:27pm
Print Post  
Tim@Visual Micro wrote on Jul 22nd, 2018 at 1:12pm:
"vMicro>Compiler>Always Copy To Intermediate".

It does not help at all. 
I read this notice:https://www.visualmicro.com/forums/YaBB.pl?num=1530978911/0#0

and tried to change  tools>options>visual micro>compiler>build cores path 
but it makes even more bad. A result is VMBCore folder with a lot subfolders and no binary. And obviously it is not the way everytime setup output folder.
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #8 - Jul 22nd, 2018 at 1:34pm
Print Post  
Hi,

All the release notes are here. The forum section in your link is just for interim updates. https://www.visualmicro.com/page/Visual-Micro-Product-Version-History-Fixes-and-...

1)

I am confused by your request. You do not need to alter the shared cores path. If you want the core to build into the project TEMP folder as it always did then ensure "vMicro>Compiler>Shared Cache For Cores" if OFF

2)

Your question did not appear to relate to the output of the core but to the final destination (copy of some output). The final destination is configured by the Project Property Pages Intermediate Directory as it has always been but it only happens if you have the "vMicro>Compiler>Always Copy To Intermediate" menu item ON.

...

Can you please be more specific about what you are trying to do, what doesn't help at all and what you want to happen?

Thanks
  
Back to top
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #9 - Jul 22nd, 2018 at 1:34pm
Print Post  
Hi,

All the release notes are here. The forum section in your link is just for interim updates. https://www.visualmicro.com/page/Visual-Micro-Product-Version-History-Fixes-and-...

1)

I am confused by your request. You do not need to alter the shared cores path. If you want the core to build into the project TEMP folder as it always did then ensure "vMicro>Compiler>Shared Cache For Cores" if OFF

2)

Your question did not appear to relate to the output of the core but to the final destination (copy of some output). The final destination is configured by the Project Property Pages Intermediate Directory as it has always been but it only happens if you have the "vMicro>Compiler>Always Copy To Intermediate" menu item ON.

...

Can you please be more specific about what you are trying to do, what doesn't help at all and what you want to happen?

Thanks
  
Back to top
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #10 - Jul 22nd, 2018 at 1:34pm
Print Post  
Now compilation result is:
Code
Select All
Program M5Stack-SD-Menu size: 345 908 bytes (used 26% of a 1 310 720 byte maximum) (98.28 secs)
Minimum Memory Usage: 31056 bytes (9% of a 327680 byte maximum)

# Copy build result to 'Project>Property Pages>Intermediate Directory'
# Destination: file:///D:/Arduino-ESP32-IDE/Proj/ESP32/M5OW/SD_Menu/Release/ 



and nothing new in the project folder

« Last Edit: Jul 22nd, 2018 at 1:37pm by Kabron »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #11 - Jul 22nd, 2018 at 1:41pm
Print Post  
It's working okay for me. 

Try running VS as admin, you might not have permission to create the "Release" folder or create it yourself as a test. D:/Arduino-ESP32-IDE/Proj/ESP32/M5OW/SD_Menu/Release/
  
Back to top
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #12 - Jul 22nd, 2018 at 1:42pm
Print Post  
@Kabron did you post, there was a problem with the forum so pls post again

Thanks
  
Back to top
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #13 - Jul 22nd, 2018 at 1:49pm
Print Post  
Tim@Visual Micro wrote on Jul 22nd, 2018 at 1:42pm:
@Kabron did you post, there was a problem with the forum so pls post again

I search it in project folder while it was in solution/Release folder.
But now I checked vMicro>compiler>Always Export Binary
and this is not work:
Code
Select All
# Export compiled binary to 'Project>Property Pages>Output Directory'
# Destination: Menu.ino.odroid_esp32.bin
 


When I Ctrl+click on message I got "Cannot find file" and really it does not exists.
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #14 - Jul 22nd, 2018 at 2:41pm
Print Post  
Thanks, I found some confusion and published a fix. However the export is not affected.

There is a new update in the https://www.visualmicro.com/forums/YaBB.pl?board=VS_ARDUINO_EXT_RELEASES

The "Copy to Intermediate Directory" was using the "Output Directory" instead of "Intermediate Directory", which is why you were confused!

The export should be working correctly with the "Output Directory". What is your Output Directory set to? Which board are you using?
  
Back to top
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #15 - Jul 22nd, 2018 at 3:33pm
Print Post  
Thanks,

Output Directory = D:\Arduino-ESP32-IDE\Proj\ESP32\M5OW\SD_Menu\Release\

It is solution folder while the project folder is: d:\Arduino-ESP32-IDE\Proj\ESP32\M5OW\SD_Menu\M5Stack-SD-Menu\

I'm using ODROID-GO board with modified M5Stack library, allowing to run M5Stack projects directly on ODROID-GO board.
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #16 - Jul 22nd, 2018 at 3:43pm
Print Post  
Did you try the latest release?
Does your core have an export command?



Out of interest, why are you not using the VS variables to set your paths? Why are they hard coded?
  
Back to top
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #17 - Jul 22nd, 2018 at 3:50pm
Print Post  
Tim@Visual Micro wrote on Jul 22nd, 2018 at 3:43pm:
Did you try the latest release?
Does your core have an export command?

Not yet.

Tim@Visual Micro wrote on Jul 22nd, 2018 at 3:43pm:
Out of interest, why are you not using the VS variables to set your paths? Why are they hard coded?

I'm ashamed to admit that I have not heard about them. Sad
« Last Edit: Jul 22nd, 2018 at 3:50pm by Kabron »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12163
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Compiler stuff fills SSD
Reply #18 - Jul 22nd, 2018 at 4:02pm
Print Post  
Quote:
VS Build Variables: I have not heard about them


They should be pre-filled by vs as examples when you look at project properties. They start with $ synmbol

Examples:-

//this means the current project folder/
Code
Select All
$(ProjectDir) 



//this means current solution folder/
Code
Select All
$(SolutionDir) 



//This means current solution folder + configuration name\
//          solution/debug
//          solution/release
Code
Select All
$(SolutionDir)$(Configuration)\ 


  
Back to top
IP Logged
 
Kabron
Full Member
***
Offline


Posts: 170
Joined: Nov 1st, 2015
Re: Compiler stuff fills SSD
Reply #19 - Jul 22nd, 2018 at 4:14pm
Print Post  
Thanks again!
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint