DiscussionsIssue archiveOCCT:Visualization

Archived issue #0026403

Add missing Standard_EXPORT keyword in SelectMgr headers

Open CASCADEOCCT:Visualizationclosed8 public notes

Search issues

Description

Many classes defined by HXX files added in context of #24263 do not have Standard_EXPORT keyword before declaration of their (non-inline and non-virtual) methods. This results in linking errors when these classes are used from outside of TKV3d. In particular, C# wrapper does not build on current master because of non-exported constructor and method Clear() of SelectMgr_SensitiveEntity.

Steps to reproduce

N/A

Public activity

8 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon Jul 6 20:30:38 2015 +0300

    0026403: Lack of Standard_EXPORT keyword in SelectMgr headers
    
    Some Standard_EXPORT keywords added to be able to link with TKV3d
02Commenter 2
The fix is needed urgently, it prevents other projects (e.g. C# wrapper and SALOME) to use current OCCT!
03Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
04Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
05Commenter 5
Dear Andrey,
please review the branch CR26403.
06Commenter 6
Reviewed, please test.

I have one minor doubt: is it worth adding Standard_EXPORT to virtual functions? Anyway, it should be safe to have it in all public methods.
07Commenter 7
Dear Commenter 1,
Branch CR26403 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)

products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 91301507 / 90754891 [+0.60%]
Total CPU difference: 17661.84999999915 / 17774.469999998964 [-0.63%]
products component :
Total MEMORY difference: 24847767 / 24839015 [+0.04%]
Total CPU difference: 6934.230000000007 / 6874.220000000016 [+0.87%]

Testing on Windows:
occt component :
Total MEMORY difference: 56862566 / 56855672 [+0.01%]
Total CPU difference: 16707.28589729922 / 16438.3089730993 [+1.64%]
products component :
Total MEMORY difference: 16011544 / 16011533 [+0.00%]
Total CPU difference: 5273.785406099981 / 5264.284945199952 [+0.18%]

There are no differences in images found by testdiff.
08Commenter 2
Branch [archived branch] has been deleted by Commenter 3.

[revision removed]

Related records