cancel
Showing results for 
Search instead for 
Did you mean: 

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

LiuHao
Associate II

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

13 REPLIES 13
Martin KJELDSEN
Chief III

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

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

Hi @LiuHao​,

Looks like something might have gone wrong in the project generation of CubeMX 5.1 since the path to AbstractPartition seems to not be relative to the installation directory, but rather just E:/.

I will double check this in MSVS2017.

I'll get back to you!

Best regards,

Martin

Hi@Martin KJELDSEN​ 

I agree with you, but I think that when TouchGFX is invoked in STM32CubeMX to generate project files, there is an error in the user macro specified in the Application.sln file, which results in VS2017 searching for project files in an incorrect path. In addition, I also found that after the GUI design was completed in TouchGFX, even if the Generate Code button was clicked, the corresponding Screen1View. HPP and. CPP files would not be automatically added to the VS2017 project, and manual addition was required to compile correctly.

Maybe this problem only exists in my development tools, but I can not understand that the errors found in the VS2017 project are automatically generated by software. Are these errors because I did not put my project files in a specific path?

I look forward to your and your team's answers.

Best regards,

Hao Liu

Dear Martin:

Hi

I responded to an e-mail and provided a download link for my project file. Please check the project file I provided with your team to find out the problem. These documents are only for technical research. Please do not publish them on the public Internet for the time being.

Thanks!

Best regards,

Hao Liu

Hi,

To which email did you send this information? Thanks.

Best regards,

Martin

Dear Martin:

Hi

I have re-sent the mail please check it.

Best regards,

Hao Liu

I don't have access to that email account. Can you upload it somewhere using third party file sharing? Or send it to me directly: martin.kjeldsen at st.com.

I have re-sent the mail to martin.kjeldsen@st.com, please check it.