Skip to main content
LiuHao
Associate
March 3, 2019
Question

A suspected BUG was found between TouchGFX 4.10 and Visual Studio 2017

  • March 3, 2019
  • 1 reply
  • 2573 views

Hi

My development system: STM32CubeMX 5.1.0 (with STM32F7 Firmware Package V1.15.0), TouchGFX 4.10.0, IAR Embedded Workbench 8.32.2, Microsoft Visual Studio 2017.

TouchGFX was successfully transplanted on STM32F746IGT6, and 1024*600 LCD screen could also realize display control and touch response. But when VS2017 was used to open the Application.sln solution file under the msvs folder and try to write the button response program, VS2017 reported many errors in finding the source file. After checking, it was found that many file paths specified in the Application.vcxproj file were all wrong. By mistake, most of the files are not in the TouchGFX folder, but in the Middleware folder.

For example, when calling the external program ImageConvert.exe was reported during VS compilation, the program could not be found. After checking, it was found that the path error of ImageConvert.exe given in line 32 of the touchgfx_prebuild.targes file was wrong,because ImageConvert.exe was actually in the path of the location "Middlewares\ST\TouchGFX\touchgfx\framework\tools\imageconvert\build\msvs", but the

​ touchgfx_prebuild.targets file told VS that ImageConvert.exe is specified elsewhere.

I don't know if this is a common problem because of my system development. I hereby report it to ST.​

Looking forward to the reply from ST experts.​

Thank you

This topic has been closed for replies.

1 reply

Martin KJELDSEN
Principal III
March 6, 2019

Hi @LiuHao​,

Is it possible for you to share the project with me? I'd like to take a look (I'll of course also try to replicate this issue on my own).

Thanks!

Best regards,

Martin

LiuHao
LiuHaoAuthor
Associate
March 8, 2019

Hi @Martin KJELDSEN​ ,

After checking in my project files, the Application.vcproj file tells VS2017 that the AbstractPartition.hpp is in location "E:/touchgfx/framework\include\common\AbstractPartition.hpp" according to the XML statement "<ClInclude Include="$(TouchGFXReleasePath)\framework\include\common\AbstractPartition.hpp" />" in the Application.vcproj file, but in my computer, the AbstractPartition.hpp is truly in location "E:\STM32F746IGT6TGDemo\Middlewares\ST\TouchGFX\touchgfx\framework\include\common\AbstractPartition.hpp" . I think that the reason was that the user macro $(TouchGFXReleasePath) in VS2017 was defined "..\..\..\..\..\touchgfx" by Application.props file. After I changed $(TouchGFXReleasePath) to "E:\STM32F746IGT6TGDemo\Middlewares\ST\TouchGFX\touchgfx\",VS2017 tells me that most. HPP and. CPP files have been found.

After solving this problem, I tried to compile my project in VS2017, but it tells me that VS2017 don't find the FrontedApplicationBase.hpp, Screen1Presenter.hpp, Screen1View.hpp, Screen1ViewBase.hpp and.cpp files because that there are not XML statements in the Application.vcproj file. After I added these files to my project, VS2017 tells me everything was back to normal.

My project files have not been uploaded to the Internet. If you need to view these files, you can send your e-mail address to my e-mail address "liuhaoli@stu.xjtu.edu.cn". I will send these files to you.

I also wrote a technical note in Chinese detailing the problems encountered in my project. If you or your team can understand Chinese, I would also like to share this note with you.

Thanks!

Best regards,

Hao Liu