View Issue Details

IDProjectCategoryView StatusLast Update
0002402NoesisGUIC++ SDKpublic2022-11-07 17:13
ReporterExt3h Assigned Tojsantos  
PrioritynormalSeverityminor 
Status feedbackResolutionopen 
Product Version3.1.5 
Target Version3.1.7 
Summary0002402: Global (private) symbols from NoesisApp
Description

NoesisApp currently uses several implementation-private symbols with "common" names without properly isolating them in their corresponding translation units:

Audio.mm.cpp : struct Voice
FastLZ.cpp : struct Header
class *RenderTarget
class *Texture

Please consider scoping them at least in an anonymous namespace, as the declared types are likely to clash with other libraries due to having global linkage.

Steps To Reproduce

Try to link OpenAL-Soft and NoesisApp in the same application. Both provide the type struct Voice with an explicit contructor declaration and incompatible definitions.

PlatformAny

Activities

jsantos

jsantos

2022-08-22 12:48

manager   ~0008047

Yes, those symbols should be in an anonymous namespace. By the way, RenderTarget and Texture are already in Noesis namespace. What do you exactly mean with class *Texture ?

Issue History

Date Modified Username Field Change
2022-08-20 15:49 Ext3h New Issue
2022-08-20 15:49 Ext3h Tag Attached: C++
2022-08-20 15:52 Ext3h Description Updated
2022-08-22 12:46 jsantos Assigned To => jsantos
2022-08-22 12:46 jsantos Status new => assigned
2022-08-22 12:48 jsantos Note Added: 0008047
2022-08-22 12:48 jsantos Status assigned => feedback
2022-08-22 12:48 jsantos Target Version => 3.1.6
2022-11-07 17:13 sfernandez Target Version 3.1.6 => 3.1.7