Hello,
I am now working on a project at which I need to project and capture colored structured light pattern. And I need to write a program to automate the entire process. To achieve this, I downloaded the DLP-ALC-LIGHTCRAFTER-SDK and use it in Visual Studio 2017. I read from the this post that the SDK code is written in 32-bit and therefore can only be compiled in 32-bit compiler. However, I would like to use it in a 64-bit processor because of two reasons. First, I have a few other libraries (Camera SDK, Meshing Library, etc) that supports 64-bit compiler. Second, I would like to make full use of all the memory space in 64-bit machine (we plan to use multiple camera-projector sets for the project and thus the program will be more demanding). I tried using the 32-bit codes and directly compile it in 64-bit compiler. It didn't work (of course). I wonder if there is any way at which I can use those codes in 64-bit compiler. My current test code and error messages are pasted below:
For your information, I tried to configure a projector with the following codes which I extracted from DLP_LightCrafter_4500_3D_Scan_Application.cpp
#include <dlp_sdk.hpp> int main() { DLP_NEW_PARAMETERS_ENTRY(ConnectIdProjector, "CONNECT_ID_PROJECTOR", std::string, "0"); DLP_NEW_PARAMETERS_ENTRY(ConfigFileProjector, "CONFIG_FILE_PROJECTOR", std::string, "config/config_projector.txt"); ConnectIdProjector connect_id_projector; ConfigFileProjector config_file_projector; dlp::LCr4500 projector; dlp::Parameters settings; settings.Load("projector_test.txt"); settings.Get(&connect_id_projector); settings.Get(&config_file_projector); dlp::ReturnCode ret; ret = dlp::DLP_Platform::ConnectSetup(projector, connect_id_projector.Get(), config_file_projector.Get(), true); if (ret.hasErrors()) { dlp::CmdLine::Print("\n\nPlease resolve the LightCrafter connection issue before proceeding to next step...\n"); } return 0; }
And the error messages seems to be related to the asio library. Error messages as follow:
1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\include\camera\camera.hpp(59): warning C4305: 'argument': truncation from 'double' to 'float' 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\include\camera\pg_flycap2\pg_flycap2_c.hpp(104): warning C4305: 'argument': truncation from 'double' to 'float' 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\3rd_party\asio-1.10.4\include\asio\impl\error_code.ipp(40): error C2694: 'const char *asio::detail::system_category::name(void) const': overriding virtual function has less restrictive exception specification than base class virtual member function 'const char *std::error_category::name(void) noexcept const' 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\3rd_party\asio-1.10.4\include\asio\impl\error_code.ipp(40): note: see declaration of 'asio::detail::system_category::name' 1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.13.26128\include\system_error(169): note: see declaration of 'std::error_category::name' 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\3rd_party\asio-1.10.4\include\asio\impl\error.ipp(96): error C2694: 'const char *asio::error::detail::misc_category::name(void) const': overriding virtual function has less restrictive exception specification than base class virtual member function 'const char *std::error_category::name(void) noexcept const' 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\3rd_party\asio-1.10.4\include\asio\impl\error.ipp(96): note: see declaration of 'asio::error::detail::misc_category::name' 1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.13.26128\include\system_error(169): note: see declaration of 'std::error_category::name' 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\3rd_party\asio-1.10.4\include\asio\detail\impl\socket_ops.ipp(1967): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\3rd_party\asio-1.10.4\include\asio\detail\impl\socket_ops.ipp(2171): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data 1>d:\texas instruments-dlp\sdk\dlp-alc-lightcrafter-sdk\include\geometry\geometry.hpp(75): warning C4305: 'argument': truncation from 'double' to 'float'
Jeff Leung