nand2mario / nestang

NESTang is an FPGA Nintendo Entertainment System implemented with Sipeed Tang Primer 25K, Nano 20K and Primer 20K boards
https://nand2mario.github.io/nestang
GNU General Public License v3.0
348 stars 38 forks source link

Suggestion: Consider Static Linking to Avoid Visual C++ Runtime Installation #19

Closed denisdemaisbr closed 1 year ago

denisdemaisbr commented 1 year ago

Hello there,

I would like to recommend considering the usage of a statically linked version of the program to mitigate potential issues related to the installation of Visual C++ 2015* runtime. By employing static linking, we can eliminate the need for end-users to separately install the Visual C++ 2015 runtime, which can often be a source of frustration and compatibility problems.

Static linking enables us to include all necessary libraries and dependencies directly into the executable, resulting in a self-contained and portable binary. As a result, users won't have to worry about missing runtime installations or encountering conflicts with other software utilizing different versions of the Visual C++ runtime.

Though dynamic linking is commonly preferred due to smaller file sizes and easier updates, static linking can be a more robust solution, especially when targeting a broad user base with varying system configurations.

To achieve this, we could modify the build settings to link all required libraries statically. Please note that this may increase the size of the executable, but the trade-off in terms of user experience and compatibility could be well worth it.

I understand that there might be some considerations and trade-offs involved in this decision, but I believe it would greatly improve the overall usability and ease of deployment for our users.

Let's discuss this option further and weigh the pros and cons to make an informed decision that aligns with the project's goals and the best interests of our community.

Looking forward to your thoughts on this matter.

Kind regards, Denis