PointCloudLibrary / PointCloudLibrary/pcl

[LNK2019] "Pcl with surface on nurbs getting unresolved external"

Open
#5,691 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind: compile error module: surface
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

Describe the error

I am attempting to use the third-party library OpenNURBS from PCL while the surface-on-NURBS module is enabled,
but I am experiencing some unresolved external errors.
I am using PCL from VCPKG, which has been compiled for the x86-windows triplet."

pcl 1.13.0#3

I am able to link successfully with pcl_surface and use classes from pcl\surface\on_nurbs, but I am got unresolved external errors when attempting to use classes from pcl\surface\3rdparty\opennurbs.

error LNK2019: unresolved external symbol "int __cdecl ON_KnotCount(int,int)" (?ON_KnotCount@@YAHHH@Z) referenced in function _main

Here a small and simple project to test the issue:
CMakeLists.txt
pcl_test .txt

command line used to generate makefile considering my local paths for vcpkg pcl.
cmake -G "NMake Makefiles" ..\CMakeLists.txt -DCMAKE_BUILD_TYPE=Debug -DPCL_INCLUDE_DIRS="./pcl/x86-windows/include" -DPCL_LIBRARIES="../pcl/x86-windows/debug/lib/pcl_surfaced.lib"

Despite linking all PCL libraries, I am still unable to determine the root cause of the issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the provided CMakeLists.txt and pcl_test project with the reported vcpkg x86-windows triplet and pcl 1.13.0. Inspect how pcl_surface, pcl\surface\on_nurbs, and pcl\surface\3rdparty\opennurbs are linked, focusing on the missing ON_KnotCount symbol. Done means the sample links successfully and uses the NURBS classes without LNK2019 errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.