-
-
Notifications
You must be signed in to change notification settings - Fork 916
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Set internal linkage for all apps functions and variables #656
Conversation
I do not understand the issue, can u pls elaborate? How is that you get a conflict while the 6 existing apps in OpenMVS do not have any conflict between eachother? And if you want to use OpenMVS as a library, you do not even have to compile its apps. |
Sorry, I couldn't explain in detail because it's confidential. Firstly, I don't use apps as external libs. My project customizes libMVS, some function is replaced with my functions and libMyModule.so is linked to libMVS. The libMyModule.so contains a function whose name conflicts with MVS's apps. |
I still think there is something strange happening due to some design choices you made with the libs, but I do not see how this PR could hurt so I'll approve it |
IMO I agree with you, but I can't control the design... Leaving it aside, making linkage local as much as possible is good C++ manners ( similar to shorten the variable's lifetime). Thank you for approving! |
* dense: add image mask support * dense: fix bug in mask application * build: update find packages * build: fix usage as third-party library * interface: export and compare camera poses with an OpenMVG refined version * interface: export MVS scene to NVM format * common: fix camera scaling * dense: small code refactor * mvs: view DMAPs with different resolution * interface: replace define with constexp * interface: small change * common: fix PFM exporter/importer * common: disable CPUID on ARM platforms * dense: add Region-Of-Interest (ROI) support * common: improve octree speed * build: update AppVeyor * mesh: split mesh in sub-meshed by max area * dense: split scene in sub-scenes * cmake: build libCommon/IO/Math as shared if BUILD_SHARED_LIBS=ON (#650) * mesh: fix bug in RemoveFaces() * dense: filter more redundant views from sub-scenes * common: add ZSTD serialization support * apps: set internal linkage for functions and variables (#656) * common: small refactor * mesh: raster triangles using barycentric coordinates * remove cotire * dense: merge small sub-scenes * interface: import COLMAP depth-maps * interface: add MVS preset to the python script * interface: fix COLMAP on linux * common: make binary projects portable * viewer: display views seeing selected point or points seen by the current view * dense: improve depth-map initialization * dense: merge depth-maps (no fusion) * interface: add similarity transform functionality * common: fix file permissions on linux * mesh: add GLTF writing support * mesh: add target-face-num parameter to ReconstructMesh (#671) * mesh: improve GLTF support * dense: add geometric-consistency * dense: fix for invalid images (cherry picked from commit b29648f835e5ee0b36b4240a160a20124001f34d) * dense: close file in reading invalid depth-map (#685) * dense: export point-cloud with min number of views per point (cherry picked from commit 9b6b2fd7ec89a5b7ea3acdef83664daccbfc8c03) * dense: detect computed depth-maps (cherry picked from commit 52f9162874e4c3da66bb618dcea9dddc1bdf644a) * refine: initialize image neighbors from input mesh (cherry picked from commit 2a069fa0856582da2b766ba85091d3e46fa783de) * dense: select better angle neighbors (cherry picked from commit 05a49551ad13873c664bf394d4584cf5c44f198c) * dense: patch-match implemented in CUDA (faster & better) * common: fix latest boost * dense: expose --cuda-device option (#707) * build: add Dockerfile for CUDA #710 * dense: fix bug in selecting views (cherry picked from commit d068c02295234199f49b26afc85ac643886f2311) * build: fix CUDA for older cards (#712) * dense: fix small clusters (#702) * interface: fix COLMAP log export * interface: add Metashape and predefined neighbors list support * interface: fix compile linux * dense: add support for scenes with empty point-cloud but known (coarse) mesh * dense: filter low score estimates * interface: add Metashape ROI support * viewer: display ROI * dense: increase NCC threshold for CUDA * interface: remap Metashape indices * dense: fix depth-map crash in CUDA * interface: update MVG-MVS pipeline Co-authored-by: YOSHIFUJI Naoki <lwisteria.ao@gmail.com> Co-authored-by: Piero Toffanin <pt@masseranolabs.com> Co-authored-by: Tommy Bojanin <Bojanint@gmail.com>
* dense: add image mask support * dense: fix bug in mask application * build: update find packages * build: fix usage as third-party library * interface: export and compare camera poses with an OpenMVG refined version * interface: export MVS scene to NVM format * common: fix camera scaling * dense: small code refactor * mvs: view DMAPs with different resolution * interface: replace define with constexp * interface: small change * common: fix PFM exporter/importer * common: disable CPUID on ARM platforms * dense: add Region-Of-Interest (ROI) support * common: improve octree speed * build: update AppVeyor * mesh: split mesh in sub-meshed by max area * dense: split scene in sub-scenes * cmake: build libCommon/IO/Math as shared if BUILD_SHARED_LIBS=ON (#650) * mesh: fix bug in RemoveFaces() * dense: filter more redundant views from sub-scenes * common: add ZSTD serialization support * apps: set internal linkage for functions and variables (#656) * common: small refactor * mesh: raster triangles using barycentric coordinates * remove cotire * dense: merge small sub-scenes * interface: import COLMAP depth-maps * interface: add MVS preset to the python script * interface: fix COLMAP on linux * common: make binary projects portable * viewer: display views seeing selected point or points seen by the current view * dense: improve depth-map initialization * dense: merge depth-maps (no fusion) * interface: add similarity transform functionality * common: fix file permissions on linux * mesh: add GLTF writing support * mesh: add target-face-num parameter to ReconstructMesh (#671) * mesh: improve GLTF support * dense: add geometric-consistency * dense: fix for invalid images (cherry picked from commit b29648f835e5ee0b36b4240a160a20124001f34d) * dense: close file in reading invalid depth-map (#685) * dense: export point-cloud with min number of views per point (cherry picked from commit 9b6b2fd7ec89a5b7ea3acdef83664daccbfc8c03) * dense: detect computed depth-maps (cherry picked from commit 52f9162874e4c3da66bb618dcea9dddc1bdf644a) * refine: initialize image neighbors from input mesh (cherry picked from commit 2a069fa0856582da2b766ba85091d3e46fa783de) * dense: select better angle neighbors (cherry picked from commit 05a49551ad13873c664bf394d4584cf5c44f198c) * dense: patch-match implemented in CUDA (faster & better) * common: fix latest boost * dense: expose --cuda-device option (#707) * build: add Dockerfile for CUDA #710 * dense: fix bug in selecting views (cherry picked from commit d068c02295234199f49b26afc85ac643886f2311) * build: fix CUDA for older cards (#712) * dense: fix small clusters (#702) * interface: fix COLMAP log export * interface: add Metashape and predefined neighbors list support * interface: fix compile linux * dense: add support for scenes with empty point-cloud but known (coarse) mesh * dense: filter low score estimates * interface: add Metashape ROI support * viewer: display ROI * dense: increase NCC threshold for CUDA * interface: remap Metashape indices * dense: fix depth-map crash in CUDA * interface: update MVG-MVS pipeline * increase version to 2.0.0 Co-authored-by: YOSHIFUJI Naoki <lwisteria.ao@gmail.com> Co-authored-by: Piero Toffanin <pt@masseranolabs.com> Co-authored-by: Tommy Bojanin <Bojanint@gmail.com>
I'm trying to integrate my module into openMVS apps.
I found that the global functions and variables conflict with my module, e.g., Initialize/Finalize and OPT::nMaxThreads.
The name of my (external project) is really needed to be global functions and variables.
But openMVS's is not. It can / must be local.
To solve such a problem, could you set linkages of them internal as much as possible?
Thanks.