Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When compiling conda packages compile as shared library on Windows #1178

Closed
wants to merge 1 commit into from

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Jun 21, 2022

This was not done due to robotology/icub-main#717, but robotology/icub-main#717 was solved a long time ago.

generate-conda-packages test run: https://github.com/robotology/robotology-superbuild/actions/runs/2533920743 .

@traversaro
Copy link
Member Author

icub-main as shared library is broken again:

2022-06-21T09:56:24.8107300Z strainInterface.obj : error LNK2019: unresolved external symbol "public: int __cdecl cDownloader::initdriver(class yarp::os::Searchable &,bool)" (?initdriver@cDownloader@@QEAAHAEAVSearchable@os@yarp@@_N@Z) referenced in function "public: bool __cdecl strainInterface::open(struct strainInterface::Config const &)" (?open@strainInterface@@QEAA_NAEBUConfig@1@@Z) [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:24.8232150Z strainInterface.obj : error LNK2019: unresolved external symbol "public: int __cdecl cDownloader::stopdriver(void)" (?stopdriver@cDownloader@@QEAAHXZ) referenced in function "public: bool __cdecl strainInterface::close(void)" (?close@strainInterface@@QEAA_NXZ) [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:24.8244248Z strainInterface.obj : error LNK2019: unresolved external symbol "public: int __cdecl cDownloader::strain_stop_sampling(int,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?strain_stop_sampling@cDownloader@@QEAAHHHPEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: bool __cdecl strainInterface::close(void)" (?close@strainInterface@@QEAA_NXZ) [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:24.8347670Z strainInterface.obj : error LNK2019: unresolved external symbol "public: int __cdecl cDownloader::strain_acquire_start(int,int,unsigned char,bool,enum cDownloader::strain_acquisition_mode_t,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?strain_acquire_start@cDownloader@@QEAAHHHE_NW4strain_acquisition_mode_t@1@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: bool __cdecl strainInterface::get(unsigned int,class std::vector<struct cDownloader::strain_value_t,class std::allocator<struct cDownloader::strain_value_t> > &)" (?get@strainInterface@@QEAA_NIAEAV?$vector@Ustrain_value_t@cDownloader@@V?$allocator@Ustrain_value_t@cDownloader@@@std@@@std@@@Z) [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:30.3139404Z strainInterface.obj : error LNK2019: unresolved external symbol "public: int __cdecl cDownloader::strain_acquire_get(int,int,class std::vector<struct cDownloader::strain_value_t,class std::allocator<struct cDownloader::strain_value_t> > &,unsigned int,void (__cdecl*)(void *,float),void *,enum cDownloader::strain_acquisition_mode_t,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?strain_acquire_get@cDownloader@@QEAAHHHAEAV?$vector@Ustrain_value_t@cDownloader@@V?$allocator@Ustrain_value_t@cDownloader@@@std@@@std@@IP6AXPEAXM@Z1W4strain_acquisition_mode_t@1@IPEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z) referenced in function "public: bool __cdecl strainInterface::get(unsigned int,class std::vector<struct cDownloader::strain_value_t,class std::allocator<struct cDownloader::strain_value_t> > &)" (?get@strainInterface@@QEAA_NIAEAV?$vector@Ustrain_value_t@cDownloader@@V?$allocator@Ustrain_value_t@cDownloader@@@std@@@std@@@Z) [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:30.3230338Z strainInterface.obj : error LNK2019: unresolved external symbol "public: int __cdecl cDownloader::strain_acquire_stop(int,int,enum cDownloader::strain_acquisition_mode_t,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?strain_acquire_stop@cDownloader@@QEAAHHHW4strain_acquisition_mode_t@1@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: bool __cdecl strainInterface::get(unsigned int,class std::vector<struct cDownloader::strain_value_t,class std::allocator<struct cDownloader::strain_value_t> > &)" (?get@strainInterface@@QEAA_NIAEAV?$vector@Ustrain_value_t@cDownloader@@V?$allocator@Ustrain_value_t@cDownloader@@@std@@@std@@@Z) [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:30.3233695Z %SRC_DIR%\build\Release\strainCalibLib.dll : fatal error LNK1120: 6 unresolved externals [%SRC_DIR%\build\src\tools\strainCalib\strainCalibLib\strainCalibLib.vcxproj]
2022-06-21T09:56:30.3268886Z %PREFIX%\Library\include\yarp/sig/Vector.h(119,20): warning C4251: 'yarp::sig::VectorOf<double>::bytes': class 'std::vector<T,std::allocator<T>>' needs to have dll-interface to be used by clients of class 'yarp::sig::VectorOf<double>' [%SRC_DIR%\build\src\libraries\learningMachine\learningMachine.vcxproj]
2022-06-21T09:56:30.3344443Z           with
2022-06-21T09:56:30.3508437Z           [
2022-06-21T09:56:30.3518474Z               T=double
2022-06-21T09:56:30.3530044Z           ]
2022-06-21T09:56:30.3532906Z %PREFIX%\Library\include\yarp/sig/Vector.h(119): message : see declaration of 'std::vector<T,std::allocator<T>>' [%SRC_DIR%\build\src\libraries\learningMachine\learningMachine.vcxproj]
2022-06-21T09:56:30.3553006Z           with
2022-06-21T09:56:30.3554958Z           [
2022-06-21T09:56:30.3746755Z               T=double
2022-06-21T09:56:30.4619163Z %PREFIX%\Library\include\yarp/sig/Vector.h(119,20): warning C4251: 'yarp::sig::VectorOf<double>::bytes': class 'std::vector<_Tp,std::allocator<_Tp>>' needs to have dll-interface to be used by clients of class 'yarp::sig::VectorOf<double>' [%SRC_DIR%\build\src\modules\camCalib\camCalib.vcxproj]
2022-06-21T09:56:30.4622793Z           with
2022-06-21T09:56:30.4658640Z           [
2022-06-21T09:56:30.4659849Z               _Tp=double
2022-06-21T09:56:30.4739777Z           ]
2022-06-21T09:56:30.5809038Z %PREFIX%\Library\include\opencv2/core/mat.hpp(2239): message : see declaration of 'std::vector<_Tp,std::allocator<_Tp>>' [%SRC_DIR%\build\src\modules\camCalib\camCalib.vcxproj]
2022-06-21T09:56:30.5810332Z           with
2022-06-21T09:56:30.5811399Z           [
2022-06-21T09:56:30.5812232Z               _Tp=double
2022-06-21T09:56:30.6197041Z           ]
2022-06-21T09:56:30.6537802Z %PREFIX%\Library\include\yarp/sig/Vector.h(502): message : see reference to class template instantiation 'yarp::sig::VectorOf<double>' being compiled [%SRC_DIR%\build\src\modules\camCalib\camCalib.vcxproj]
2022-06-21T09:56:30.7583171Z   spherical_projection.cpp
2022-06-21T09:56:30.8111131Z   CamCalibModule.cpp
2022-06-21T09:56:30.8435756Z %PREFIX%\Library\include\yarp/sig/Vector.h(119,20): warning C4251: 'yarp::sig::VectorOf<double>::bytes': class 'std::vector<_Tp,std::allocator<_Tp>>' needs to have dll-interface to be used by clients of class 'yarp::sig::VectorOf<double>' [%SRC_DIR%\build\src\modules\camCalib\camCalib.vcxproj]
2022-06-21T09:56:31.2294806Z           with
2022-06-21T09:56:31.3677963Z           [
2022-06-21T09:56:31.5275080Z               _Tp=double
2022-06-21T09:56:31.7109620Z           ]
2022-06-21T09:56:31.7194131Z %PREFIX%\Library\include\opencv2/core/mat.hpp(2239): message : see declaration of 'std::vector<_Tp,std::allocator<_Tp>>' [%SRC_DIR%\build\src\modules\camCalib\camCalib.vcxproj]
2022-06-21T09:56:31.9640992Z           with
2022-06-21T09:56:31.9950342Z           [
2022-06-21T09:56:32.1512476Z               _Tp=double
2022-06-21T09:56:32.1606008Z           ]
2022-06-21T09:56:32.1609413Z %PREFIX%\Library\include\yarp/sig/Vector.h(502): message : see reference to class template instantiation 'yarp::sig::VectorOf<double>' being compiled [%SRC_DIR%\build\src\libraries\learningMachine\learningMachine.vcxproj]
2022-06-21T09:56:32.1621472Z           ]

@traversaro traversaro closed this Jun 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant