taketwo / rs

PCL grabber for RealSense devices
63 stars 25 forks source link

Unresolved Link Errors #4

Closed ravishchawla closed 9 years ago

ravishchawla commented 9 years ago

I set up the project by using PCL 1.7.2 and its depended libraries, but I get the following errors

Severity Code Description Project File Line Error LNK2019 unresolved external symbol _PXCSession_Create@0 referenced in function "public: static class PXCSession * __cdecl PXCSession::CreateInstance(void)" (?CreateInstance@PXCSession@@SAPAV1@XZ) real_sense_viewer C:--\Visual Studio 2015\Projects\rs\build\real_sense.lib(real_sense_device_manager.obj) 1 Error LNK1120 1 unresolved externals real_sense_viewer C:--\Visual Studio 2015\Projects\rs\build\Debug\real_sense_viewer.exe 1

I built the VS solution in cmake (the only warnings I got were for OpenNI, which I don't have installed, but no errors or conflicts). I built it for an x86 build on a 64-bit.

taketwo commented 9 years ago

In the CMake output, do you see a line starting with Found RSSDK: ...? Can you paste it here?

ravishchawla commented 9 years ago

that line isn't there. It finds the RSSDK and shows the location it found. Here is the output from that point

-- RSSDK: C:/Program Files (x86)/Intel/RSSDK -- Configuring done -- Generating done -- Build files have been written to: C:/--/Documents/Visual Studio 2015

taketwo commented 9 years ago

Strange... maybe it's because we use different CMake versions (mine is 3.0.1). Okay, what is the value of RSSDK_LIBRARIES variable?

ravishchawla commented 9 years ago

I am using 3.30. These are the RSSDK variables that cmake has

RSSDK_DIR : C:/Program Files (x86)/Intel/RSSDK RSSDK_LIBRARY : C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc.lib RSSDK_LIBRARY_DEBUG : C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc_d.lib

taketwo commented 9 years ago

This looks good. Though you should have RSSDK_LIBRARIES variable set as well. If it does not show up in the cmake-gui, let's try to output it from the script. Paste in the end of CMakeLists.txt:

message(WARNING "RSSDK_LIBRARIES: ${RSSDK_LIBRARIES}")
message(WARNING "RSSDK_VERSION: ${RSSDK_VERSION}")

What does it give when configuring?

ravishchawla commented 9 years ago

Here is the output.

CMake Warning at CMakeLists.txt:44 (message): RSSDK_LIBRARIES: optimized;C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc.lib;debug;C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc_d.lib

CMake Warning at CMakeLists.txt:45 (message): RSSDK_VERSION: 6.0.21.6598

sebandraos commented 9 years ago

I hate to butt in but Ravish, you said you were building x86 (32-bit) and it looks like you're linking the x64 RSSDK libraries. Worth correcting that to make sure it isn't the issue or maybe it is.

RSSDK_LIBRARIES: optimized;C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc.lib;debug;C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc_d.lib

should be

RSSDK_LIBRARIES: optimized;C:/Program Files (x86)/Intel/RSSDK/lib/Win32/libpxc.lib;debug;C:/Program Files (x86)/Intel/RSSDK/lib/Win32/libpxc_d.lib

ravishchawla commented 9 years ago

ah you were right. that fixed it. building properly now.

sebandraos commented 9 years ago

Excellent, glad to hear it

taketwo commented 9 years ago

@sebandraos thanks for helping out! I'm an alien on Windows platform and don't feel comfortable myself when seeing such errors :)

sebandraos commented 9 years ago

No worries Sergey, it's one of those errors that's so easy to miss as it's just a couple of letters in a path but puts a real spanner in the works.

friend047 commented 8 years ago

Sorry guys, I got the same problem in this RSSDK_LIBRARIES: optimized;C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc.lib;debug;C:/Program Files (x86)/Intel/RSSDK/lib/x64/libpxc_d.lib

but I don't know how to change the path to RSSDK_LIBRARIES: optimized;C:/Program Files (x86)/Intel/RSSDK/lib/Win32/libpxc.lib;debug;C:/Program Files (x86)/Intel/RSSDK/lib/Win32/libpxc_d.lib

Someone could help me :( ?

sebandraos commented 8 years ago

I assume that text is copied from CMake in which case the easiest thing to do is load the make via the GUI and then you can simply click on the text to change it.