Tag Archives: msbuild

Velt-0.1.3 development: generating events

Happy shrimp
http://blog.csdn.net/lights_joy/ (QQ group: Visual EmbedLinux Tools 375515651).
Welcome to reprint, but please keep the author’s information

Velt, the full name of Visual EmbedlinuxTools, is a Visual Studio plugin similar to Visual GDB to assist Linux development. With this plug-in, you will be able to develop Linux applications (including compilation and debugging) in the Visual Studio IDE, and you can also compile the uboot and Linux kernel, and locate the source code correctly based on error messages at compile time. The current version is 0.1.2, which only supports VS2013, and is a plug-in that has just started development. Can be downloaded in CSDN download channels (http://download.csdn.net/detail/lights_joy/8359251), the installation process, see the Linux development: using Vs2013 + VELT – 0.1.0 from environment to build “. Here are its basic functions:

    supports x86 Linux, HI3516, HI3520, MinGW platforms. Complete the compilation of UBOOT, and automatically locate the corresponding file location according to the error information compiled. Complete the Linux kernel compilation, and automatically locate the corresponding file location according to the compilation error information. Complete the configuration of the Linux kernel. You do not use Makefiles to compile Linux applications. Connect to the target machine using SSH and debug the application with GDB. Connect the target machine with Telnet and debug the application with GDB.

Three build events are defined in VS:


MSBuild defines these three goals as:

  <Target Name="PreBuildEvent" Condition="'$(PreBuildEventUseInBuild)'!='false'">
    <Message Text="Description: %(PreBuildEvent.Message)" Condition="'%(PreBuildEvent.Message)' != '' and '%(PreBuildEvent.Command)' != ''"/>
    <Exec Command="%(PreBuildEvent.Command)$(_BuildSuffix)" Condition="'%(PreBuildEvent.Command)' != ''"/>
  </Target>

  <Target Name="PreLinkEvent" Condition="'$(PreLinkEventUseInBuild)'!='false'">
    <Message Text="Description: %(PreLinkEvent.Message)" Condition="'%(PreLinkEvent.Message)' != '' and '%(PreLinkEvent.Command)' != ''"/>
    <Exec Command="%(PreLinkEvent.Command)$(_BuildSuffix)" Condition="'%(PreLinkEvent.Command)' != ''"/>
  </Target>

  <Target Name="PostBuildEvent" Condition="'$(PostBuildEventUseInBuild)'!='false'">
    <Message Text="Description: %(PostBuildEvent.Message)" Condition="'%(PostBuildEvent.Message)' != '' and '%(PostBuildEvent.Command)' != ''"/>
    <Exec Command="%(PostBuildEvent.Command)$(_BuildSuffix)" Condition="'%(PostBuildEvent.Command)' != ''"/>
  </Target>

In effect, you just throw the commands you entered here to cmd.exe to execute.
For the MinGW platform, this is perfectly fine, but for platforms such as Linux you need to reload the task and leave it to bash.