Sysprogs forums › Forums › VisualGDB › IS Raspberry Pi still supported?
- This topic has 5 replies, 2 voices, and was last updated 3 years, 8 months ago by support.
-
AuthorPosts
-
March 10, 2021 at 21:06 #30135scerionParticipant
Just trying out VisualGDB – followed the instructions to install the SysGCC toolset first, then added the VisualGDB plugin to VS. Unfortunately the example “blink” project doesn’t work due to VS not finding wiringPi – even though it’s linked ok, the intellisense can see it, the path to the includes is set etc. Seems like the plugin/tutorial needs updating. If it’s no longer being updated, is there an alternative for using VS with cross-compiling for Pi?
March 11, 2021 at 09:16 #30143supportKeymasterHi,
Raspberry Pi is still supported, although the Git repository of the WiringPi library has indeed changed. We have updated our tutorial to reflect the new address.
The WiringPi tutorial indeed shows the older VisualGDB GUI, however the names and locations of the relevant settings have not changed. We do recommend using MSBuild instead of GNU Make though. Please double-check that you specify both include paths and library names per step 7 of the tutorial.
If nothing helps, please feel free to let us know more about the errors you get, including any relevant screenshots, and we will try to suggest a workaround.
March 27, 2021 at 17:31 #30255scerionParticipantThanks. It seems a bit hit and miss. Sometimes libraries need to be added to the “Library Names: ” field, sometimes not. Some libraries are not used even if added to this field,, or even added as a full path to the “Additional Linker Inputs:” field. For example, the “librpicopy” library simply cannot be used it seems. It finds the file ok, and intellisense doesn’t show errors, but upon building, the linker throws up errors about undefined references etc. I’ve checked the libraries have synced ok etc. I think to me, VisualGDB seems ok when compiling against some of the standard libs, but for some reason has problems with others, and it’s not clear why. Compiling the exact same code on the Pi itself works fine.
I did buy a license, but going ahead I think it’s probably more reliable to just build on the Pi curently. Thanks!
- This reply was modified 3 years, 8 months ago by scerion.
March 27, 2021 at 18:22 #30257supportKeymasterHi,
GCC has rather non-trivial rules for passing libraries to the linker. VisualGDB provides convenient GUI for managing these parameters, and can automate some routine tasks, like searching nearby libraries for unresolved symbols, but it cannot replace the understanding of how the C++ linking works.
Feel free to check this page for an explanation of how various VisualGDB settings are mapped to the linker parameters. We would also advise studying the GNU linker documentation related to the handling of symbols and libraries. It is rather complex, but it will help get reliable results in the long term.
March 27, 2021 at 18:47 #30258scerionParticipantThanks yes I did use that page to map the working GCC input to VisualGDB. I just realised the issue is with the libraries not being C++ compatible. After adding the extern “C” {} around the library headers they compiled. (I was using GCC to test, but VisualGDB is using G++) Thanks!
- This reply was modified 3 years, 8 months ago by scerion.
March 27, 2021 at 19:34 #30260supportKeymasterHi,
Good to know it works. BTW, we do have a couple of tutorials explaining extern “C” and the generic “undefined reference” error:
-
AuthorPosts
- You must be logged in to reply to this topic.