Part Number: DLP-ALC-LIGHTCRAFTER-SDK
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